From b715aeba40bfb62de2f6a158609dfd81126da25a Mon Sep 17 00:00:00 2001 From: cyBerta Date: Sat, 19 Oct 2019 02:24:39 +0200 Subject: unit tests for gateway manager's gateway selection --- .../se/leap/bitmaskclient/testutils/MockHelper.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java') 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 24801b58..481c87cb 100644 --- a/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java +++ b/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java @@ -35,6 +35,7 @@ import java.util.Set; import okhttp3.OkHttpClient; import se.leap.bitmaskclient.OkHttpClientGenerator; import se.leap.bitmaskclient.Provider; +import se.leap.bitmaskclient.ProviderObservable; import se.leap.bitmaskclient.R; import se.leap.bitmaskclient.testutils.BackendMockResponses.BackendMockProvider; import se.leap.bitmaskclient.testutils.matchers.BundleMatcher; @@ -58,6 +59,7 @@ import static org.powermock.api.mockito.PowerMockito.mockStatic; import static se.leap.bitmaskclient.Constants.PROVIDER_PRIVATE_KEY; import static se.leap.bitmaskclient.Constants.PROVIDER_VPN_CERTIFICATE; import static se.leap.bitmaskclient.utils.FileHelper.createFile; +import static se.leap.bitmaskclient.utils.PreferenceHelper.getEipDefinitionFromPreferences; import static se.leap.bitmaskclient.utils.PreferenceHelper.getFromPersistedProvider; /** @@ -402,6 +404,24 @@ public class MockHelper { }); } + public static void mockPreferenceHelper(MockSharedPreferences preferences) { + mockStatic(PreferenceHelper.class); + + when(getEipDefinitionFromPreferences(any(SharedPreferences.class))).thenAnswer(new Answer() { + @Override + public JSONObject answer(InvocationOnMock invocation) throws Throwable { + return getEipDefinitionFromPreferences(preferences); + } + }); + } + + public static void mockProviderObserver(Provider provider) { + ProviderObservable observable = ProviderObservable.getInstance(); + observable.updateProvider(provider); + mockStatic(ProviderObservable.class); + when(ProviderObservable.getInstance()).thenAnswer((Answer) invocation -> observable); + } + public static void mockFingerprintForCertificate(String mockedFingerprint) throws CertificateEncodingException, NoSuchAlgorithmException { mockStatic(ConfigHelper.class); when(ConfigHelper.getFingerprintFromCertificate(any(X509Certificate.class), anyString())).thenReturn(mockedFingerprint); -- cgit v1.2.3