diff options
| author | cyBerta <cyberta@riseup.net> | 2025-03-18 18:00:02 +0100 |
|---|---|---|
| committer | cyBerta <cyberta@riseup.net> | 2025-03-18 18:00:02 +0100 |
| commit | 47275b6c089517c1d972175c0202a42ed70f2ca3 (patch) | |
| tree | 237b913039ebfe55a35dc01474eaad1fc1f48266 /app/src/test/java | |
| parent | 6bc28c48be8e8a4f58950dffb1d10c453777cfa1 (diff) | |
fix parsing query parameters from invite code uri
Diffstat (limited to 'app/src/test/java')
| -rw-r--r-- | app/src/test/java/se/leap/bitmaskclient/base/models/IntroducerTest.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/app/src/test/java/se/leap/bitmaskclient/base/models/IntroducerTest.java b/app/src/test/java/se/leap/bitmaskclient/base/models/IntroducerTest.java new file mode 100644 index 00000000..01989cf9 --- /dev/null +++ b/app/src/test/java/se/leap/bitmaskclient/base/models/IntroducerTest.java @@ -0,0 +1,46 @@ +package se.leap.bitmaskclient.base.models; + +import static org.junit.Assert.assertEquals; + +import android.net.Uri; +import android.os.Build; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; +import org.robolectric.annotation.Config; + +import java.io.UnsupportedEncodingException; +import java.net.URISyntaxException; +import java.net.URLEncoder; + + +@RunWith(RobolectricTestRunner.class) +@Config(sdk = {Build.VERSION_CODES.P}) +public class IntroducerTest { + + @Test + public void testGetQueryParam() { + try { + String auth = "solitech_w4gOlm+abcdefaF2DE1Q6dg=="; + String encodedAuth = URLEncoder.encode(auth, "UTF-8"); + Uri uri = Uri.parse("obfsvpn://example.org:443?auth=" + encodedAuth); + assertEquals(auth, uri.getQueryParameter("auth")); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } + + + @Test + public void testFromUrl() { + try { + Introducer intro = Introducer.fromUrl("obfsvpnintro://37.2.240.90:443?fqdn=ft1.example.org&kcp=1&cert=XXXXXXX&auth=solitech_w4gOlm%2BsbF8spFL8E1Q6dg%3D%3D"); + assertEquals(intro.getFullyQualifiedDomainName(), "ft1.example.org"); + assertEquals("solitech_w4gOlm+sbF8spFL8E1Q6dg==", intro.getAuthToken()); + assertEquals("obfsvpnintro://37.2.240.90:443?fqdn=ft1.example.org&kcp=1&cert=XXXXXXX&auth=solitech_w4gOlm%2BsbF8spFL8E1Q6dg%3D%3D", intro.toUrl()); + } catch (URISyntaxException | UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } +} |
