summaryrefslogtreecommitdiff
path: root/app/src/test/java/se/leap/bitmaskclient/eip/GatewaysManagerTest.java
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2022-07-15 20:46:07 +0200
committercyBerta <cyberta@riseup.net>2022-07-19 00:06:12 +0200
commit93c7fd8c592a85341e8dff594ba1ec535aa103c2 (patch)
treeb66e6229831947108e90ea10dfcf0bcf58a0305c /app/src/test/java/se/leap/bitmaskclient/eip/GatewaysManagerTest.java
parent573ecb07e250baef999711e339008dc0f0d3bb0b (diff)
add some more tests for kcp transport handling
Diffstat (limited to 'app/src/test/java/se/leap/bitmaskclient/eip/GatewaysManagerTest.java')
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/eip/GatewaysManagerTest.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/app/src/test/java/se/leap/bitmaskclient/eip/GatewaysManagerTest.java b/app/src/test/java/se/leap/bitmaskclient/eip/GatewaysManagerTest.java
index ec57dfac..56242396 100644
--- a/app/src/test/java/se/leap/bitmaskclient/eip/GatewaysManagerTest.java
+++ b/app/src/test/java/se/leap/bitmaskclient/eip/GatewaysManagerTest.java
@@ -32,6 +32,7 @@ import se.leap.bitmaskclient.testutils.MockSharedPreferences;
import se.leap.bitmaskclient.testutils.TestSetupHelper;
import static de.blinkt.openvpn.core.connection.Connection.TransportType.OBFS4;
+import static de.blinkt.openvpn.core.connection.Connection.TransportType.OBFS4_KCP;
import static de.blinkt.openvpn.core.connection.Connection.TransportType.OPENVPN;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNull;
@@ -510,6 +511,38 @@ public class GatewaysManagerTest {
assertEquals("Amsterdam", locations.get(2).getName());
}
+ // Currently all pluggable transports are handled the same, there's no UI to select a specific one
+ // when requesting a sorted list for any pluggabled transport, a sorted list of all pluiggable transports
+ // will be returned
+ @Test
+ public void testGetSortedLocations_obfs4kcp_generalizedAsPT() {
+ Provider provider = getProvider(null, null, null, null, null, null, "v4/riseup_eipservice_for_geoip_v4.json", "v4/riseup_geoip_v4_bad_obfs4_gateway.json");
+
+ MockHelper.mockProviderObservable(provider);
+ mockStatic(PreferenceHelper.class);
+ when(PreferenceHelper.getUseBridges(any(Context.class))).thenReturn(false);
+ GatewaysManager gatewaysManager = new GatewaysManager(mockContext);
+ List<Location> locations = gatewaysManager.getSortedGatewayLocations(OBFS4_KCP);
+
+ assertEquals(3, locations.size());
+ }
+
+ @Test
+ public void testgetAverageLoad_isSameForAllTransports() {
+ Provider provider = getProvider(null, null, null, null, null, null, "ptdemo_kcp_gateways.json", "ptdemo_kcp_gateways_geoip.json");
+
+ MockHelper.mockProviderObservable(provider);
+ mockStatic(PreferenceHelper.class);
+ when(PreferenceHelper.getUseBridges(any(Context.class))).thenReturn(false);
+ GatewaysManager gatewaysManager = new GatewaysManager(mockContext);
+
+ assertEquals(0.3, gatewaysManager.getLocation("Amsterdam").getAverageLoad(OBFS4_KCP));
+ assertEquals(0.3, gatewaysManager.getLocation("Amsterdam").getAverageLoad(OBFS4));
+ assertEquals(0.3, gatewaysManager.getLocation("Amsterdam").getAverageLoad(OPENVPN));
+ }
+
+
+
@Test
public void testGetLoadForLocation_() {
MockHelper.mockProviderObservable(null);