From b424d6f98eea744e159fdd291c8b138d7d638db5 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Wed, 28 Sep 2022 16:18:08 +0100 Subject: [PATCH] Add test for snowflake parameters. --- .../plugin/tor/CircumventionProviderImpl.java | 4 +++- ...ava => CircumventionProviderImplTest.java} | 24 +++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) rename bramble-core/src/test/java/org/briarproject/bramble/plugin/tor/{CircumventionProviderTest.java => CircumventionProviderImplTest.java} (79%) 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 1f79ab0746..8ad07f8d86 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 310ec6eb00..564efcdedc 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); -- GitLab