summaryrefslogtreecommitdiff
path: root/app/src/test/java/se/leap/bitmaskclient/providersetup
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2024-11-15 13:11:13 +0100
committercyberta <cyberta@riseup.net>2024-12-11 00:09:34 +0000
commit5682720dd0113ae3701df97cb15088ead9b231d8 (patch)
treebec6857454f5eb3ee93ab7c816b818c645ea2a09 /app/src/test/java/se/leap/bitmaskclient/providersetup
parentaa780e9698e0aa564ff925d4d17a59e6db67ec6b (diff)
fix tests
Diffstat (limited to 'app/src/test/java/se/leap/bitmaskclient/providersetup')
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerTest.java8
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV3Test.java37
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderManagerTest.java17
3 files changed, 42 insertions, 20 deletions
diff --git a/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerTest.java b/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerTest.java
index 86f9dc8e..adbcf8cb 100644
--- a/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerTest.java
+++ b/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerTest.java
@@ -33,6 +33,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Resources;
+import android.os.Build;
import android.os.Bundle;
import androidx.annotation.Nullable;
@@ -40,6 +41,9 @@ import androidx.annotation.Nullable;
import org.json.JSONException;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
@@ -55,6 +59,8 @@ import se.leap.bitmaskclient.base.utils.PrivateKeyHelper;
import se.leap.bitmaskclient.testutils.MockSharedPreferences;
import se.leap.bitmaskclient.tor.TorStatusObservable;
+@RunWith(RobolectricTestRunner.class)
+@Config(sdk = {Build.VERSION_CODES.P})
public class ProviderApiManagerTest {
private Resources mockResources;
@@ -158,7 +164,7 @@ public class ProviderApiManagerTest {
Bundle expectedResult = new Bundle();
expectedResult.putBoolean(BROADCAST_RESULT_KEY, false);
- expectedResult.putString(ERRORS, "{\"errorId\":\"ERROR_TOR_TIMEOUT\",\"initalAction\":\"setUpProvider\",\"errors\":\"Starting bridges failed. Do you want to retry or continue with an unobfuscated secure connection to configure Bitmask?\"}");
+ expectedResult.putString(ERRORS, "{\"errors\":\"Starting bridges failed. Do you want to retry or continue with an unobfuscated secure connection to configure Bitmask?\",\"errorId\":\"ERROR_TOR_TIMEOUT\",\"initalAction\":\"setUpProvider\"}");
expectedResult.putParcelable(PROVIDER_KEY, provider);
Intent providerApiCommand = new Intent();
diff --git a/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV3Test.java b/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV3Test.java
index db43970c..5751d1c5 100644
--- a/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV3Test.java
+++ b/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV3Test.java
@@ -47,8 +47,8 @@ import static se.leap.bitmaskclient.testutils.MockHelper.mockCertificateHelper;
import static se.leap.bitmaskclient.testutils.MockHelper.mockClientGenerator;
import static se.leap.bitmaskclient.testutils.MockHelper.mockContext;
import static se.leap.bitmaskclient.testutils.MockHelper.mockPreferenceHelper;
-import static se.leap.bitmaskclient.testutils.MockHelper.mockProviderApiConnector;
import static se.leap.bitmaskclient.testutils.MockHelper.mockPrivateKeyHelper;
+import static se.leap.bitmaskclient.testutils.MockHelper.mockProviderApiConnector;
import static se.leap.bitmaskclient.testutils.MockHelper.mockResources;
import static se.leap.bitmaskclient.testutils.MockHelper.mockResultReceiver;
import static se.leap.bitmaskclient.testutils.TestSetupHelper.getConfiguredProvider;
@@ -60,6 +60,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Resources;
+import android.os.Build;
import android.os.Bundle;
import androidx.annotation.Nullable;
@@ -68,6 +69,9 @@ import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
@@ -87,7 +91,8 @@ import se.leap.bitmaskclient.tor.TorStatusObservable;
/**
* Created by cyberta on 04.01.18.
*/
-
+@RunWith(RobolectricTestRunner.class)
+@Config(sdk = {Build.VERSION_CODES.P})
public class ProviderApiManagerV3Test {
private Resources mockResources;
@@ -250,7 +255,7 @@ public class ProviderApiManagerV3Test {
providerApiManager = new ProviderApiManagerV3(mockResources, mockClientGenerator(), new TestProviderApiServiceCallback());
Bundle expectedResult = new Bundle();
expectedResult.putBoolean(BROADCAST_RESULT_KEY, false);
- expectedResult.putString(ERRORS, "{\"errorId\":\"ERROR_CERTIFICATE_PINNING\",\"errors\":\"Stored provider certificate is invalid. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\"}");
+ expectedResult.putString(ERRORS, "{\"errors\":\"Stored provider certificate is invalid. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\",\"errorId\":\"ERROR_CERTIFICATE_PINNING\"}");
expectedResult.putParcelable(PROVIDER_KEY, provider);
providerApiManager.handleAction(SET_UP_PROVIDER, provider, new Bundle(), mockResultReceiver(PROVIDER_NOK, expectedResult));
@@ -267,7 +272,7 @@ public class ProviderApiManagerV3Test {
Bundle expectedResult = new Bundle();
expectedResult.putBoolean(BROADCAST_RESULT_KEY, false);
- expectedResult.putString(ERRORS, "{\"errorId\":\"ERROR_CERTIFICATE_PINNING\",\"errors\":\"Stored provider certificate is invalid. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\"}");
+ expectedResult.putString(ERRORS, "{\"errors\":\"Stored provider certificate is invalid. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\",\"errorId\":\"ERROR_CERTIFICATE_PINNING\"}");
expectedResult.putParcelable(PROVIDER_KEY, provider);
providerApiManager.handleAction(SET_UP_PROVIDER, provider, new Bundle(), mockResultReceiver(PROVIDER_NOK, expectedResult));
@@ -284,7 +289,7 @@ public class ProviderApiManagerV3Test {
Bundle expectedResult = new Bundle();
expectedResult.putBoolean(BROADCAST_RESULT_KEY, false);
- expectedResult.putString(ERRORS, "{\"errorId\":\"ERROR_CERTIFICATE_PINNING\",\"errors\":\"Stored provider certificate is invalid. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\"}");
+ expectedResult.putString(ERRORS, "{\"errors\":\"Stored provider certificate is invalid. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\",\"errorId\":\"ERROR_CERTIFICATE_PINNING\"}");
expectedResult.putParcelable(PROVIDER_KEY, provider);
providerApiManager.handleAction(SET_UP_PROVIDER, provider, new Bundle(), mockResultReceiver(PROVIDER_NOK, expectedResult));
@@ -301,7 +306,7 @@ public class ProviderApiManagerV3Test {
Bundle expectedResult = new Bundle();
expectedResult.putBoolean(BROADCAST_RESULT_KEY, false);
- expectedResult.putString(ERRORS, "{\"errorId\":\"ERROR_INVALID_CERTIFICATE\",\"errors\":\"Stored provider certificate is expired. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\"}");
+ expectedResult.putString(ERRORS, "{\"errors\":\"Stored provider certificate is expired. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\",\"errorId\":\"ERROR_INVALID_CERTIFICATE\"}");
expectedResult.putParcelable(PROVIDER_KEY, provider);
providerApiManager.handleAction(SET_UP_PROVIDER, provider, new Bundle(), mockResultReceiver(PROVIDER_NOK, expectedResult));
@@ -318,7 +323,7 @@ public class ProviderApiManagerV3Test {
Bundle expectedResult = new Bundle();
expectedResult.putBoolean(BROADCAST_RESULT_KEY, false);
- expectedResult.putString(ERRORS, "{\"errorId\":\"ERROR_INVALID_CERTIFICATE\",\"errors\":\"Stored provider certificate is expired. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\"}");
+ expectedResult.putString(ERRORS, "{\"errors\":\"Stored provider certificate is expired. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\",\"errorId\":\"ERROR_INVALID_CERTIFICATE\"}");
expectedResult.putParcelable(PROVIDER_KEY, provider);
providerApiManager.handleAction(SET_UP_PROVIDER, provider, new Bundle(), mockResultReceiver(PROVIDER_NOK, expectedResult));
@@ -334,7 +339,7 @@ public class ProviderApiManagerV3Test {
providerApiManager = new ProviderApiManagerV3(mockResources, mockClientGenerator(), new TestProviderApiServiceCallback());
Bundle expectedResult = new Bundle();
expectedResult.putBoolean(BROADCAST_RESULT_KEY, false);
- expectedResult.putString(ERRORS, "{\"errorId\":\"ERROR_INVALID_CERTIFICATE\",\"errors\":\"Stored provider certificate is invalid. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\"}");
+ expectedResult.putString(ERRORS, "{\"errors\":\"Stored provider certificate is invalid. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\",\"errorId\":\"ERROR_INVALID_CERTIFICATE\"}");
expectedResult.putParcelable(PROVIDER_KEY, provider);
Intent providerApiCommand = new Intent();
@@ -344,15 +349,15 @@ public class ProviderApiManagerV3Test {
@Test
public void test_handleIntentSetupProvider_storedProviderAndCAFromPreviousSetup_ValidCertificateButUpdatedCertificateOnServerSide() throws IOException, CertificateEncodingException, NoSuchAlgorithmException, JSONException {
- Provider provider = new Provider("https://riseup.net");
- PreferenceHelper preferenceHelper = mockPreferenceHelper(getConfiguredProvider());
+ Provider provider = getConfiguredProvider();
+ PreferenceHelper preferenceHelper = mockPreferenceHelper(provider);
CertificateHelper certHelper = mockCertificateHelper("a5244308a1374709a9afce95e3ae47c1b44bc2398c0a70ccbf8b3a8a97f29494");
ProviderApiConnector mockedApiConnector = mockProviderApiConnector(ERROR_CASE_UPDATED_CERTIFICATE);
providerApiManager = new ProviderApiManagerV3(mockResources, mockClientGenerator(), new TestProviderApiServiceCallback());
Bundle expectedResult = new Bundle();
expectedResult.putBoolean(BROADCAST_RESULT_KEY, false);
- expectedResult.putString(ERRORS, "{\"errorId\":\"ERROR_INVALID_CERTIFICATE\",\"errors\":\"Stored provider certificate is invalid. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\"}");
+ expectedResult.putString(ERRORS, "{\"errors\":\"Stored provider certificate is invalid. You can either update Bitmask (recommended) or update the provider certificate using a commercial CA certificate.\",\"errorId\":\"ERROR_INVALID_CERTIFICATE\"}");
expectedResult.putParcelable(PROVIDER_KEY, provider);
providerApiManager.handleAction(SET_UP_PROVIDER, provider, new Bundle(), mockResultReceiver(PROVIDER_NOK, expectedResult));
@@ -361,11 +366,11 @@ public class ProviderApiManagerV3Test {
@Test
public void test_handleIntentSetupProvider_preseededProviderAndCA_failedConfiguration() throws IOException, CertificateEncodingException, NoSuchAlgorithmException, JSONException {
- Provider provider = getConfiguredProvider();
+ Provider provider = getProvider(null, null, null, null, null, "riseup_net_invalid_config.json", null, null);
PreferenceHelper preferenceHelper = mockPreferenceHelper(provider);
CertificateHelper certHelper = mockCertificateHelper("a5244308a1374709a9afce95e3ae47c1b44bc2398c0a70ccbf8b3a8a97f29494");
- ProviderApiConnector mockedApiConnector = mockProviderApiConnector(ERROR_CASE_MICONFIGURED_PROVIDER);
+ ProviderApiConnector mockedApiConnector = mockProviderApiConnector(NO_ERROR);
providerApiManager = new ProviderApiManagerV3(mockResources, mockClientGenerator(), new TestProviderApiServiceCallback());
@@ -380,8 +385,8 @@ public class ProviderApiManagerV3Test {
@Test
public void test_handleIntentSetupProvider_preseededCustomProviderAndCA_failedConfiguration() throws IOException, CertificateEncodingException, NoSuchAlgorithmException, JSONException {
- Provider provider = getConfiguredProvider();
- PreferenceHelper preferenceHelper = mockPreferenceHelper(provider);
+ Provider provider = new Provider("riseup.net");
+ PreferenceHelper preferenceHelper = new PreferenceHelper(new MockSharedPreferences());
ProviderApiConnector mockedApiConnector = mockProviderApiConnector(ERROR_CASE_MICONFIGURED_PROVIDER);
CertificateHelper certHelper = mockCertificateHelper("a5244308a1374709a9afce95e3ae47c1b44bc2398c0a70ccbf8b3a8a97f29494");
@@ -554,7 +559,7 @@ public class ProviderApiManagerV3Test {
@Test
public void test_handleIntentSetupProvider_TorFallback_SecondTryHappyPath() throws IOException, CertificateEncodingException, NoSuchAlgorithmException, TimeoutException, InterruptedException {
- Provider provider = getConfiguredProviderAPIv4();
+ Provider provider = new Provider("riseup.net");
PreferenceHelper preferenceHelper = mockPreferenceHelper(provider);
CertificateHelper certHelper = mockCertificateHelper(" a5244308a1374709a9afce95e3ae47c1b44bc2398c0a70ccbf8b3a8a97f29494");
ProviderApiConnector mockedApiConnector = mockProviderApiConnector(ERROR_DNS_RESUOLUTION_TOR_FALLBACK);
diff --git a/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderManagerTest.java b/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderManagerTest.java
index 7cca9c2f..b6a2becd 100644
--- a/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderManagerTest.java
+++ b/app/src/test/java/se/leap/bitmaskclient/providersetup/ProviderManagerTest.java
@@ -9,26 +9,36 @@ import static org.mockito.Mockito.when;
import android.content.SharedPreferences;
import android.content.res.AssetManager;
+import android.os.Build;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
import java.io.InputStream;
import java.util.HashSet;
import java.util.Set;
+import mobile.BitmaskMobile;
+import mobilemodels.BitmaskMobileCore;
import se.leap.bitmaskclient.base.models.Constants;
import se.leap.bitmaskclient.base.models.Provider;
+import se.leap.bitmaskclient.base.utils.BitmaskCoreProvider;
import se.leap.bitmaskclient.base.utils.PreferenceHelper;
import se.leap.bitmaskclient.testutils.MockHelper;
import se.leap.bitmaskclient.testutils.MockSharedPreferences;
+import se.leap.bitmaskclient.testutils.TestSetupHelper;
/**
* Created by cyberta on 20.02.18.
*/
+@RunWith(RobolectricTestRunner.class)
+@Config(sdk = {Build.VERSION_CODES.P})
public class ProviderManagerTest {
private AssetManager assetManager;
@@ -40,6 +50,7 @@ public class ProviderManagerTest {
@Before
public void setup() throws Exception {
assetManager = mock(AssetManager.class);
+ BitmaskCoreProvider.initBitmaskMobile(TestSetupHelper.getCustomBitmaskCore());
when(assetManager.open(anyString())).thenAnswer(new Answer<InputStream>() {
@Override
@@ -162,7 +173,7 @@ public class ProviderManagerTest {
providerManager.setAddDummyEntry(true);
providerManager.clear();
assertEquals("1 providers", 1, providerManager.providers().size());
- assertEquals("provider is dummy element", "https://example.net", providerManager.get(0).getMainUrl());
+ assertEquals("provider is dummy element", "", providerManager.get(0).getMainUrl());
}
@Test
@@ -195,8 +206,8 @@ public class ProviderManagerTest {
providerManager.add(secondCustomProvider);
providerManager.saveCustomProviders();
Set<String> providerSet = mockSharedPrefs.getStringSet(Constants.CUSTOM_PROVIDER_DOMAINS, new HashSet<>());
- assertEquals("persist was called twice", 2, providerSet.size());
- assertEquals("PreferenceHelper has 2 providers", 2, PreferenceHelper.getCustomProviders().size());
+ assertEquals("persist was called twice", 3, providerSet.size());
+ assertEquals("PreferenceHelper has 2 providers", 3, PreferenceHelper.getCustomProviders().size());
}