[android] - fix accesstoken validation

This commit is contained in:
tobrun
2018-07-23 12:08:19 +02:00
committed by Tobrun
parent bbc2529c50
commit bfe714eebe
2 changed files with 32 additions and 5 deletions

View File

@@ -7,7 +7,6 @@ import android.net.NetworkInfo;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.UiThread;
import android.text.TextUtils;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
import com.mapbox.mapboxsdk.exceptions.MapboxConfigurationException;
import com.mapbox.mapboxsdk.maps.Telemetry;
@@ -138,8 +137,12 @@ public final class Mapbox {
* @param accessToken the access token to validate
* @return true is valid, false otherwise
*/
private static boolean isAccessTokenValid(String accessToken) {
return !(TextUtils.isEmpty(accessToken)
|| (!accessToken.toLowerCase(MapboxConstants.MAPBOX_LOCALE).startsWith("pk.")));
static boolean isAccessTokenValid(String accessToken) {
if (accessToken == null) {
return false;
}
accessToken = accessToken.trim().toLowerCase(MapboxConstants.MAPBOX_LOCALE);
return accessToken.length() != 0 && (accessToken.startsWith("pk.") || accessToken.startsWith("sk."));
}
}

View File

@@ -3,7 +3,6 @@ package com.mapbox.mapboxsdk;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import org.junit.Before;
import org.junit.Test;
@@ -45,6 +44,31 @@ public class MapboxTest {
assertEquals(appContext, appContext);
}
@Test
public void testPkTokenValid() {
assertTrue(Mapbox.isAccessTokenValid("pk.0000000001"));
}
@Test
public void testSkTokenValid() {
assertTrue(Mapbox.isAccessTokenValid("sk.0000000001"));
}
@Test
public void testEmptyToken() {
assertFalse(Mapbox.isAccessTokenValid(""));
}
@Test
public void testNullToken() {
assertFalse(Mapbox.isAccessTokenValid(null));
}
@Test
public void testBlaBlaToken() {
assertFalse(Mapbox.isAccessTokenValid("blabla"));
}
@Test
public void testConnected() {
injectMapboxSingleton("dummy");