summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Zugaldia <antonio@mapbox.com>2019-04-11 15:48:26 -0400
committerŁukasz Paczos <lukasz.paczos@mapbox.com>2019-04-18 16:07:43 +0200
commit80cb2053064e315f6c087d19f5c38c1bb94c75ff (patch)
tree742cae1321a10e277fb0152513aa0dc18a0b2b4d
parentef9967c35145fad367efa09e755717f36dcb3d68 (diff)
downloadqtlocation-mapboxgl-80cb2053064e315f6c087d19f5c38c1bb94c75ff.tar.gz
add unit test for isexpired and make run-android-unit-test pass
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/AccountsManager.java16
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/AccountsManagerTest.java22
3 files changed, 34 insertions, 7 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/AccountsManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/AccountsManager.java
index aab483828a..dd0c82439b 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/AccountsManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/AccountsManager.java
@@ -15,11 +15,11 @@ import java.util.Calendar;
* usage only.
*/
class AccountsManager {
- private final static String PREFERENCE_USER_ID = "com.mapbox.mapboxsdk.accounts.userid";
- private final static String PREFERENCE_TIMESTAMP = "com.mapbox.mapboxsdk.accounts.timestamp";
- private final static String PREFERENCE_SKU_TOKEN = "com.mapbox.mapboxsdk.accounts.skutoken";
+ private static final String PREFERENCE_USER_ID = "com.mapbox.mapboxsdk.accounts.userid";
+ private static final String PREFERENCE_TIMESTAMP = "com.mapbox.mapboxsdk.accounts.timestamp";
+ private static final String PREFERENCE_SKU_TOKEN = "com.mapbox.mapboxsdk.accounts.skutoken";
- private final static long ONE_HOUR_MILLIS = 60 * 60 * 1_000L;
+ static final long ONE_HOUR_MILLIS = 60 * 60 * 1_000L;
private long timestamp;
private String skuToken;
@@ -64,7 +64,11 @@ class AccountsManager {
}
private boolean isExpired() {
- return (getNow() - timestamp > ONE_HOUR_MILLIS);
+ return isExpired(getNow(), timestamp);
+ }
+
+ static boolean isExpired(long now, long then) {
+ return ((now - then) > ONE_HOUR_MILLIS);
}
private long persistRotation(String skuToken) {
@@ -81,7 +85,7 @@ class AccountsManager {
.getSharedPreferences(MapboxConstants.MAPBOX_SHARED_PREFERENCES, Context.MODE_PRIVATE);
}
- private long getNow() {
+ static long getNow() {
return Calendar.getInstance(MapboxConstants.MAPBOX_LOCALE).getTimeInMillis();
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java
index 0a5d4a8347..cc4988b549 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java
@@ -106,7 +106,8 @@ public class FileSource {
*/
@NonNull
private static String getCachePath(@NonNull Context context) {
- SharedPreferences preferences = context.getSharedPreferences(MapboxConstants.MAPBOX_SHARED_PREFERENCES, Context.MODE_PRIVATE);
+ SharedPreferences preferences = context.getSharedPreferences(
+ MapboxConstants.MAPBOX_SHARED_PREFERENCES, Context.MODE_PRIVATE);
String cachePath = preferences.getString(MAPBOX_SHARED_PREFERENCE_RESOURCES_CACHE_PATH, null);
if (!isPathWritable(cachePath)) {
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/AccountsManagerTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/AccountsManagerTest.java
new file mode 100644
index 0000000000..bce5ad6c76
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/AccountsManagerTest.java
@@ -0,0 +1,22 @@
+package com.mapbox.mapboxsdk;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class AccountsManagerTest {
+ @Test
+ public void testIsExpired() {
+ long now = AccountsManager.getNow();
+
+ long defaultValue = 0L;
+ long tooOld = now - AccountsManager.ONE_HOUR_MILLIS - 1;
+ long futureValue = now + 1;
+ long immediatePast = now - 1;
+
+ Assert.assertTrue(AccountsManager.isExpired(now, defaultValue));
+ Assert.assertTrue(AccountsManager.isExpired(now, tooOld));
+
+ Assert.assertFalse(AccountsManager.isExpired(now, futureValue));
+ Assert.assertFalse(AccountsManager.isExpired(now, immediatePast));
+ }
+}