diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/CircumventionProviderImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/CircumventionProviderImpl.java index 1f79ab0746d379b94653c49ebf6502a2015b3dd1..8ad07f8d860fb545ec3b1786e26c09db648f2b36 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/CircumventionProviderImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/CircumventionProviderImpl.java @@ -94,7 +94,9 @@ class CircumventionProviderImpl implements CircumventionProvider { return bridges; } - private String getSnowflakeParams(String countryCode, boolean letsEncrypt) { + // Package access for testing + @SuppressWarnings("WeakerAccess") + String getSnowflakeParams(String countryCode, boolean letsEncrypt) { Map<String, String> params = loadSnowflakeParams(); if (countryCode.isEmpty()) countryCode = DEFAULT_COUNTRY_CODE; // If we have parameters for this country code, return them diff --git a/bramble-core/src/test/java/org/briarproject/bramble/plugin/tor/CircumventionProviderTest.java b/bramble-core/src/test/java/org/briarproject/bramble/plugin/tor/CircumventionProviderImplTest.java similarity index 79% rename from bramble-core/src/test/java/org/briarproject/bramble/plugin/tor/CircumventionProviderTest.java rename to bramble-core/src/test/java/org/briarproject/bramble/plugin/tor/CircumventionProviderImplTest.java index 310ec6eb0074a770e3685777f3359c0d31d17df9..564efcdedc61a117ad419d8107d98e2f5fceed31 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/plugin/tor/CircumventionProviderTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/plugin/tor/CircumventionProviderImplTest.java @@ -18,11 +18,13 @@ import static org.briarproject.bramble.plugin.tor.CircumventionProvider.DEFAULT_ import static org.briarproject.bramble.plugin.tor.CircumventionProvider.DPI_BRIDGES; import static org.briarproject.bramble.plugin.tor.CircumventionProvider.NON_DEFAULT_BRIDGES; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; -public class CircumventionProviderTest extends BrambleTestCase { +public class CircumventionProviderImplTest extends BrambleTestCase { - private final CircumventionProvider provider = + private final CircumventionProviderImpl provider = new CircumventionProviderImpl(); @Test @@ -64,6 +66,24 @@ public class CircumventionProviderTest extends BrambleTestCase { provider.getSuitableBridgeTypes("ZZ")); } + @Test + public void testHasSnowflakeParamsWithLetsEncrypt() { + testHasSnowflakeParams(true); + } + + @Test + public void testHasSnowflakeParamsWithoutLetsEncrypt() { + testHasSnowflakeParams(false); + } + + private void testHasSnowflakeParams(boolean letsEncrypt) { + String tmParams = provider.getSnowflakeParams("TM", letsEncrypt); + String defaultParams = provider.getSnowflakeParams("ZZ", letsEncrypt); + assertFalse(tmParams.isEmpty()); + assertFalse(defaultParams.isEmpty()); + assertNotEquals(defaultParams, tmParams); + } + private <T> void assertEmptyIntersection(Set<T> a, Set<T> b) { Set<T> intersection = new HashSet<>(a); intersection.retainAll(b);