boolean loadCurrentAccessToken() { AccessToken accessToken = accessTokenCache.load(); if (accessToken != null) { setCurrentAccessToken(accessToken, false); return true; } return false; }
@Test public void testLoadReturnsFalseIfEmptyCachedTokenAndDoesNotCheckLegacy() { JSONObject jsonObject = new JSONObject(); sharedPreferences.edit().putString(AccessTokenCache.CACHED_ACCESS_TOKEN_KEY, jsonObject.toString()).commit(); AccessTokenCache cache = new AccessTokenCache(sharedPreferences, cachingStrategyFactory); AccessToken accessToken = cache.load(); assertNull(accessToken); verifyZeroInteractions(cachingStrategy); }
@Test public void testLoadValidCachedToken() throws JSONException { AccessToken accessToken = createAccessToken(); JSONObject jsonObject = accessToken.toJSONObject(); sharedPreferences.edit().putString(AccessTokenCache.CACHED_ACCESS_TOKEN_KEY, jsonObject.toString()).commit(); AccessTokenCache cache = new AccessTokenCache(sharedPreferences, cachingStrategyFactory); AccessToken loadedAccessToken = cache.load(); assertNotNull(loadedAccessToken); assertEquals(accessToken, loadedAccessToken); }
@Test public void testLoadDoesNotSave() { AccessToken accessToken = createAccessToken(); when(accessTokenCache.load()).thenReturn(accessToken); AccessTokenManager accessTokenManager = createAccessTokenManager(); accessTokenManager.loadCurrentAccessToken(); verify(accessTokenCache, never()).save(any(AccessToken.class)); }
@Test public void testLoadReturnsFalseIfNoCachedTokenAndEmptyLegacyToken() { when(FacebookSdk.isLegacyTokenUpgradeSupported()).thenReturn(true); when(cachingStrategy.load()).thenReturn(new Bundle()); AccessTokenCache cache = new AccessTokenCache(sharedPreferences, cachingStrategyFactory); AccessToken accessToken = cache.load(); assertNull(accessToken); }
@Test public void testLoadClearsLegacyCacheWhenUpgradingFromLegacyToken() { when(FacebookSdk.isLegacyTokenUpgradeSupported()).thenReturn(true); AccessToken accessToken = createAccessToken(); when(cachingStrategy.load()).thenReturn( AccessTokenTestHelper.toLegacyCacheBundle(accessToken)); AccessTokenCache cache = new AccessTokenCache(sharedPreferences, cachingStrategyFactory); cache.load(); verify(cachingStrategy, times(1)).clear(); }
@Test public void testLoadReturnsFalseIfNoCachedOrLegacyToken() { when(FacebookSdk.isLegacyTokenUpgradeSupported()).thenReturn(true); AccessTokenCache cache = new AccessTokenCache(sharedPreferences, cachingStrategyFactory); AccessToken accessToken = cache.load(); assertNull(accessToken); }
@Test public void testLoadReturnsFalseIfNoCachedToken() { AccessTokenCache cache = new AccessTokenCache(sharedPreferences, cachingStrategyFactory); AccessToken accessToken = cache.load(); assertNull(accessToken); PowerMockito.verifyZeroInteractions(cachingStrategy); }
@Test public void testLoadSavesTokenWhenUpgradingFromLegacyToken() throws JSONException { when(FacebookSdk.isLegacyTokenUpgradeSupported()).thenReturn(true); AccessToken accessToken = createAccessToken(); when(cachingStrategy.load()).thenReturn( AccessTokenTestHelper.toLegacyCacheBundle(accessToken)); AccessTokenCache cache = new AccessTokenCache(sharedPreferences, cachingStrategyFactory); cache.load(); assertTrue(sharedPreferences.contains(AccessTokenCache.CACHED_ACCESS_TOKEN_KEY)); AccessToken savedAccessToken = AccessToken.createFromJSONObject( new JSONObject(sharedPreferences.getString( AccessTokenCache.CACHED_ACCESS_TOKEN_KEY, null))); assertEquals(accessToken, savedAccessToken); }
@Test public void testLoadReturnsTrueIfCachedToken() { AccessToken accessToken = createAccessToken(); when(accessTokenCache.load()).thenReturn(accessToken); AccessTokenManager accessTokenManager = createAccessTokenManager(); boolean result = accessTokenManager.loadCurrentAccessToken(); assertTrue(result); }
@Test public void testLoadSetsCurrentTokenIfCached() { AccessToken accessToken = createAccessToken(); when(accessTokenCache.load()).thenReturn(accessToken); AccessTokenManager accessTokenManager = createAccessTokenManager(); accessTokenManager.loadCurrentAccessToken(); assertEquals(accessToken, accessTokenManager.getCurrentAccessToken()); }
@Test public void testLoadSetsCurrentTokenIfNoCachedTokenButValidLegacyToken() { when(FacebookSdk.isLegacyTokenUpgradeSupported()).thenReturn(true); AccessToken accessToken = createAccessToken(); when(cachingStrategy.load()).thenReturn( AccessTokenTestHelper.toLegacyCacheBundle(accessToken)); AccessTokenCache cache = new AccessTokenCache(sharedPreferences, cachingStrategyFactory); AccessToken loadedAccessToken = cache.load(); assertNotNull(loadedAccessToken); assertEquals(accessToken, loadedAccessToken); }