summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/AccountsManagerTest.java
blob: 5ce71ceacff643474dcec34f2be4ac9d72a81fa1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package com.mapbox.mapboxsdk;

import android.content.SharedPreferences;
import android.text.format.DateUtils;

import org.junit.Test;

import static com.mapbox.mapboxsdk.constants.MapboxConstants.KEY_PREFERENCE_SKU_TOKEN;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

public class AccountsManagerTest {
  @Test
  public void testIsExpired() {
    long now = AccountsManager.getNow();

    long defaultValue = 0L;
    long tooOld = now - DateUtils.HOUR_IN_MILLIS - 1;
    long futureValue = now + 1;
    long immediatePast = now - 1;

    assertTrue(AccountsManager.isExpired(now, defaultValue));
    assertTrue(AccountsManager.isExpired(now, tooOld));

    assertFalse(AccountsManager.isExpired(now, futureValue));
    assertFalse(AccountsManager.isExpired(now, immediatePast));
  }

  @Test
  public void checksSkuTokenExternalManagement() {
    SharedPreferences mockedSharedPreferences = mock(SharedPreferences.class);
    when(mockedSharedPreferences.getString(KEY_PREFERENCE_SKU_TOKEN, "")).thenReturn("external-sku-token");
    boolean isNotManaged = false;
    AccountsManager theAccountsManager = new AccountsManager(mockedSharedPreferences, isNotManaged);

    String skuToken = theAccountsManager.getSkuToken();

    assertEquals("external-sku-token", skuToken);
  }

  @Test
  public void checksSkuTokenInternalManagement() {
    SharedPreferences mockedSharedPreferences = mock(SharedPreferences.class, RETURNS_DEEP_STUBS);
    when(mockedSharedPreferences.getString("com.mapbox.mapboxsdk.accounts.userid", ""))
      .thenReturn("any-user-id");
    boolean isManaged = true;
    AccountsManager theAccountsManager = new AccountsManager(mockedSharedPreferences, isManaged);

    String skuToken = theAccountsManager.getSkuToken();

    assertFalse(skuToken.isEmpty());
    assertTrue(skuToken.startsWith("100"));
    assertTrue(skuToken.endsWith("any-user-id"));
  }
}