From 64449816223cb9abb6e75310c03dcc9353a42ee4 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Wed, 2 Aug 2023 22:45:26 +0200 Subject: use single instance of shared prefernces across the app, this reduces the laggyness of the UI noticably --- .../leap/bitmaskclient/testutils/MockHelper.java | 37 +++++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'app/src/test/java/se/leap/bitmaskclient/testutils') 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..91823433 100644 --- a/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java +++ b/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java @@ -469,7 +469,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() { + when(getFromPersistedProvider(anyString(), anyString())).thenAnswer(new Answer() { @Override public String answer(InvocationOnMock invocation) throws Throwable { String key = (String) invocation.getArguments()[0]; @@ -495,7 +495,7 @@ public class MockHelper { return null; } }); - when(getLongFromPersistedProvider(anyString(), anyString(), any(SharedPreferences.class))).thenAnswer(new Answer() { + when(getLongFromPersistedProvider(anyString(), anyString())).thenAnswer(new Answer() { @Override public Long answer(InvocationOnMock invocation) throws Throwable { String key = (String) invocation.getArguments()[0]; @@ -508,7 +508,7 @@ public class MockHelper { return 0L; } }); - when(getStringSetFromPersistedProvider(anyString(), anyString(), any(SharedPreferences.class))).thenAnswer(new Answer>() { + when(getStringSetFromPersistedProvider(anyString(), anyString())).thenAnswer(new Answer>() { @Override public Set answer(InvocationOnMock invocation) throws Throwable { String key = (String) invocation.getArguments()[0]; @@ -519,14 +519,43 @@ public class MockHelper { return null; } }); + when(PreferenceHelper.hasKey(anyString())).then(new Answer() { + @Override + public Boolean answer(InvocationOnMock invocation) throws Throwable { + String key = (String) invocation.getArguments()[0]; + if (key!= null && key.contains(providerFromPrefs.getDomain())) { + 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() { + when(getEipDefinitionFromPreferences()).thenAnswer(new Answer() { @Override public JSONObject answer(InvocationOnMock invocation) throws Throwable { + return getEipDefinitionFromPreferences(preferences); } }); -- cgit v1.2.3