summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/MapboxInjector.java29
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/module/http/HttpRequestUrlTest.kt67
2 files changed, 91 insertions, 5 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/MapboxInjector.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/MapboxInjector.java
index 46adc2007b..966c756318 100644
--- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/MapboxInjector.java
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/MapboxInjector.java
@@ -1,17 +1,36 @@
package com.mapbox.mapboxsdk;
import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import java.lang.reflect.Field;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
public class MapboxInjector {
- public static void inject(Context context, String accessToken) {
+ private static final String FIELD_INSTANCE = "INSTANCE";
+ private static final String FIELD_ACCOUNTS = "accounts";
+
+ public static void inject(@NonNull Context context, @NonNull String accessToken) {
+ inject(context, accessToken, null);
+ }
+
+ public static void inject(@NonNull Context context, @NonNull String accessToken, @Nullable String skuToken) {
Mapbox mapbox = new Mapbox(context, accessToken);
try {
- Field field = Mapbox.class.getDeclaredField("INSTANCE");
- field.setAccessible(true);
- field.set(mapbox, mapbox);
+ Field instance = Mapbox.class.getDeclaredField(FIELD_INSTANCE);
+ instance.setAccessible(true);
+ instance.set(mapbox, mapbox);
+
+ Field accounts = Mapbox.class.getDeclaredField(FIELD_ACCOUNTS);
+ accounts.setAccessible(true);
+
+ AccountsManager manager = mock(AccountsManager.class);
+ when(manager.getSkuToken()).thenReturn(skuToken);
+ accounts.set(mapbox, manager);
} catch (Exception exception) {
throw new AssertionError();
}
@@ -19,7 +38,7 @@ public class MapboxInjector {
public static void clear() {
try {
- Field field = Mapbox.class.getDeclaredField("INSTANCE");
+ Field field = Mapbox.class.getDeclaredField(FIELD_INSTANCE);
field.setAccessible(true);
field.set(field, null);
} catch (Exception exception) {
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/module/http/HttpRequestUrlTest.kt b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/module/http/HttpRequestUrlTest.kt
new file mode 100644
index 0000000000..994a41938b
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/module/http/HttpRequestUrlTest.kt
@@ -0,0 +1,67 @@
+package com.mapbox.mapboxsdk.module.http
+
+import com.mapbox.mapboxsdk.MapboxInjector
+import com.mapbox.mapboxsdk.http.HttpRequestUrl
+import io.mockk.mockk
+import junit.framework.Assert.assertEquals
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+
+@RunWith(RobolectricTestRunner::class)
+class HttpRequestUrlTest {
+
+ @Before
+ fun setUp() {
+ MapboxInjector.inject(mockk(relaxed = true), "pk.foobar", "foobar")
+ }
+
+ @Test
+ fun testOfflineFlagMapboxCom() {
+ val expected = "http://mapbox.com/path/of/no/return.pbf?sku=foobar&offline=true"
+ val actual = HttpRequestUrl.buildResourceUrl("mapbox.com", "http://mapbox.com/path/of/no/return.pbf", 0, true)
+ assertEquals(expected, actual)
+ }
+
+ @Test
+ fun testOfflineFlagMapboxCn() {
+ val expected = "http://mapbox.cn/path/of/no/return.pbf?sku=foobar&offline=true"
+ val actual = HttpRequestUrl.buildResourceUrl("mapbox.cn", "http://mapbox.cn/path/of/no/return.pbf", 0, true)
+ assertEquals(expected, actual)
+ }
+
+ @Test
+ fun testOfflineFlagInvalidHost() {
+ val expected = "http://foobar.com/path/of/no/return.pbf"
+ val actual = HttpRequestUrl.buildResourceUrl("foobar.com", "http://foobar.com/path/of/no/return.pbf", 0, true)
+ assertEquals(expected, actual)
+ }
+
+ @Test
+ fun testOnlineMapboxCom() {
+ val expected = "http://mapbox.com/path/of/no/return.pbf?sku=foobar"
+ val actual = HttpRequestUrl.buildResourceUrl("mapbox.com", "http://mapbox.com/path/of/no/return.pbf", 0, false)
+ assertEquals(expected, actual)
+ }
+
+ @Test
+ fun testOnlineMapboxCn() {
+ val expected = "http://mapbox.cn/path/of/no/return.pbf?sku=foobar"
+ val actual = HttpRequestUrl.buildResourceUrl("mapbox.cn", "http://mapbox.cn/path/of/no/return.pbf", 0, false)
+ assertEquals(expected, actual)
+ }
+
+ @Test
+ fun testOnlineInvalidHost() {
+ val expected = "http://foobar.com/path/of/no/return.pbf"
+ val actual = HttpRequestUrl.buildResourceUrl("foobar.com", "http://foobar.com/path/of/no/return.pbf", 0, false)
+ assertEquals(expected, actual)
+ }
+
+ @After
+ fun tearDown() {
+ MapboxInjector.clear()
+ }
+} \ No newline at end of file