summaryrefslogtreecommitdiff
path: root/app/src/test/java
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2025-03-18 18:00:02 +0100
committercyBerta <cyberta@riseup.net>2025-03-18 18:00:02 +0100
commit47275b6c089517c1d972175c0202a42ed70f2ca3 (patch)
tree237b913039ebfe55a35dc01474eaad1fc1f48266 /app/src/test/java
parent6bc28c48be8e8a4f58950dffb1d10c453777cfa1 (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.java46
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);
+ }
+ }
+}