Skip to content

Commit 9b88c3e

Browse files
committed
Align Volley empty config tests
1 parent ba877c8 commit 9b88c3e

2 files changed

Lines changed: 27 additions & 0 deletions

File tree

approov-service/src/main/java/io/approov/service/volley/ApproovService.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import android.util.Log;
2121
import android.content.Context;
2222

23+
import androidx.annotation.VisibleForTesting;
24+
2325
import com.android.volley.AuthFailureError;
2426
import com.android.volley.Request;
2527
import com.android.volley.toolbox.BaseHttpStack;
@@ -229,6 +231,23 @@ public static synchronized boolean isApproovEnabled() {
229231
return isInitialized && (configString != null) && !configString.isEmpty();
230232
}
231233

234+
/**
235+
* Resets the ApproovService state. This should only be used for testing.
236+
*/
237+
@VisibleForTesting
238+
static synchronized void reset() {
239+
hurlStack = null;
240+
isInitialized = false;
241+
configString = null;
242+
useApproovStatusIfNoToken = false;
243+
approovTokenHeader = null;
244+
approovTokenPrefix = null;
245+
approovTraceIDHeader = null;
246+
bindingHeader = null;
247+
exclusionURLRegexs = null;
248+
serviceMutator = ApproovServiceMutator.DEFAULT;
249+
}
250+
232251
/**
233252
* Sets a development key indicating that the app is a development version and it should
234253
* pass attestation even if the app is not registered or it is running on an emulator. The

approov-service/src/test/java/io/approov/service/volley/ApproovServiceMiniSdkTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,12 @@ public void testInitializeIgnoresSameConfigAndRejectsDifferentConfig() {
7373
public void testInitializeWithEmptyConfigBuildsPlainClient() throws Exception {
7474
reinitializeService(scenarioJson(uniqueCaseName("empty-config"),
7575
"\"protectedDomains\": [\"" + getTargetHost() + "\"]"));
76+
ApproovService.reset();
7677
ApproovService.initialize(context, "", "reinit-empty-config");
7778

79+
assertTrue(ApproovService.isInitialized());
80+
assertFalse(ApproovService.isApproovEnabled());
81+
7882
StringRequest request = new StringRequest(Request.Method.GET, getTargetURL(), null, null);
7983
JSONObject reply = executeRequest(request);
8084

@@ -86,8 +90,12 @@ public void testInitializeWithEmptyConfigBuildsPlainClient() throws Exception {
8690
public void testInitializeWithEmptyConfigCanLaterEnableApproov() throws Exception {
8791
reinitializeService(scenarioJson(uniqueCaseName("empty-then-valid"),
8892
"\"protectedDomains\": [\"" + getTargetHost() + "\"]"));
93+
ApproovService.reset();
8994
ApproovService.initialize(context, "", "reinit-empty-config");
9095

96+
assertTrue(ApproovService.isInitialized());
97+
assertFalse(ApproovService.isApproovEnabled());
98+
9199
StringRequest request1 = new StringRequest(Request.Method.GET, getTargetURL(), null, null);
92100
JSONObject reply1 = executeRequest(request1);
93101
assertNull(getHeader(reply1, "Approov-Token"));

0 commit comments

Comments
 (0)