summaryrefslogtreecommitdiff
path: root/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java')
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java38
1 files changed, 33 insertions, 5 deletions
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java b/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java
index 4ef8b9cc..1f8a18f4 100644
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java
+++ b/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java
@@ -26,7 +26,6 @@ import static se.leap.bitmaskclient.base.utils.PreferenceHelper.getStringSetFrom
import android.content.Context;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Resources;
@@ -469,7 +468,7 @@ public class MockHelper {
public static void mockPreferenceHelper(final Provider providerFromPrefs) {
// FIXME use MockSharedPreferences instead of provider
mockStatic(PreferenceHelper.class);
- when(getFromPersistedProvider(anyString(), anyString(), any(SharedPreferences.class))).thenAnswer(new Answer<String>() {
+ when(getFromPersistedProvider(anyString(), anyString())).thenAnswer(new Answer<String>() {
@Override
public String answer(InvocationOnMock invocation) throws Throwable {
String key = (String) invocation.getArguments()[0];
@@ -495,7 +494,7 @@ public class MockHelper {
return null;
}
});
- when(getLongFromPersistedProvider(anyString(), anyString(), any(SharedPreferences.class))).thenAnswer(new Answer<Long>() {
+ when(getLongFromPersistedProvider(anyString(), anyString())).thenAnswer(new Answer<Long>() {
@Override
public Long answer(InvocationOnMock invocation) throws Throwable {
String key = (String) invocation.getArguments()[0];
@@ -508,7 +507,7 @@ public class MockHelper {
return 0L;
}
});
- when(getStringSetFromPersistedProvider(anyString(), anyString(), any(SharedPreferences.class))).thenAnswer(new Answer<Set<String>>() {
+ when(getStringSetFromPersistedProvider(anyString(), anyString())).thenAnswer(new Answer<Set<String>>() {
@Override
public Set<String> answer(InvocationOnMock invocation) throws Throwable {
String key = (String) invocation.getArguments()[0];
@@ -519,14 +518,43 @@ public class MockHelper {
return null;
}
});
+ when(PreferenceHelper.hasKey(anyString())).then(new Answer<Boolean>() {
+ @Override
+ public Boolean answer(InvocationOnMock invocation) throws Throwable {
+ String key = (String) invocation.getArguments()[0];
+ if (key!= null && key.contains(providerFromPrefs.getDomain()) && !providerFromPrefs.getDomain().isEmpty()) {
+ key = key.substring(0, key.indexOf(providerFromPrefs.getDomain()) - 1 /* -1 -> "." at the end */);
+ }
+ switch (key) {
+ case PROVIDER_PRIVATE_KEY:
+ return providerFromPrefs.getPrivateKey() != null;
+ case PROVIDER_VPN_CERTIFICATE:
+ return providerFromPrefs.getVpnCertificate() != null;
+ case Provider.KEY:
+ return providerFromPrefs.getDefinition().keys().hasNext();
+ case Provider.CA_CERT_FINGERPRINT:
+ return providerFromPrefs.getCaCertFingerprint().length() > 1;
+ case Provider.CA_CERT:
+ return providerFromPrefs.getCaCert() != null;
+ case Provider.GEOIP_URL:
+ return !providerFromPrefs.getGeoipUrl().isDefault();
+ case Provider.MOTD_URL:
+ return !providerFromPrefs.getMotdUrl().isDefault();
+ case PROVIDER_MOTD:
+ return providerFromPrefs.getMotdJson().keys().hasNext();
+ }
+ return false;
+ }
+ });
}
public static void mockPreferenceHelper(MockSharedPreferences preferences) {
mockStatic(PreferenceHelper.class);
- when(getEipDefinitionFromPreferences(any(SharedPreferences.class))).thenAnswer(new Answer<JSONObject>() {
+ when(getEipDefinitionFromPreferences()).thenAnswer(new Answer<JSONObject>() {
@Override
public JSONObject answer(InvocationOnMock invocation) throws Throwable {
+
return getEipDefinitionFromPreferences(preferences);
}
});