@Override public boolean isRefreshable() { return tokenStorage.getAccessToken() != null && tokenStorage.getAccessToken().getRefreshToken() != null; }
@Override public boolean isRefreshable() { return tokenStorage.getAccessToken() != null && tokenStorage.getAccessToken().getRefreshToken() != null; }
@Override public void signRequest(Request.Builder builder) { if(tokenStorage.getAccessToken() != null && tokenStorage.getAccessToken().getToken() != null) { setBearerToken(builder, tokenStorage.getAccessToken()); } }
@Override public void signRequest(Request.Builder builder) { if(tokenStorage.getAccessToken() != null && tokenStorage.getAccessToken().getToken() != null) { setBearerToken(builder, tokenStorage.getAccessToken()); } }
protected synchronized Request doRefresh(Response response) throws IOException { final AccessToken token = tokenStorage.getAccessToken(); if (signedByOldToken(response, token)) { return resign(response, token); } else { return refreshAndSign(response, token); } }
protected synchronized Request doRefresh(Response response) throws IOException { final AccessToken token = tokenStorage.getAccessToken(); if (signedByOldToken(response, token)) { return resign(response, token); } else { return refreshAndSign(response, token); } }
@Test public void testSignRequest_callsSetBearerToken() throws Exception { when(accessTokenStorage.getAccessToken()).thenReturn(accessToken); when(accessToken.getToken()).thenReturn("token"); Request.Builder builder = dummyRequest.newBuilder(); authenticator.signRequest(builder); verify(authenticator).setBearerToken(eq(builder), eq(accessToken)); }
@Test public void testDoRefreshToken_ifSignedByOldToken_resign() throws Exception { when(accessTokenStorage.getAccessToken()).thenReturn(accessToken); doReturn(true).when(authenticator).signedByOldToken(eq(dummyResponse), eq(accessToken)); doReturn(dummyRequest).when(authenticator).resign(eq(dummyResponse), eq(accessToken)); Request result = authenticator.doRefresh(dummyResponse); verify(authenticator).resign(eq(dummyResponse), eq(accessToken)); assertEquals(dummyRequest, result); }
@Test public void testDoRefreshToken_ifNotSignedByOldToken_refreshAndResign() throws Exception { when(accessTokenStorage.getAccessToken()).thenReturn(accessToken); doReturn(false).when(authenticator).signedByOldToken(eq(dummyResponse), eq(accessToken)); doReturn(dummyRequest).when(authenticator).refreshAndSign(eq(dummyResponse), eq(accessToken)); Request result = authenticator.doRefresh(dummyResponse); verify(authenticator).refreshAndSign(eq(dummyResponse), eq(accessToken)); assertEquals(dummyRequest, result); }
@Test public void testIsRefreshable_noToken_returnsFalse() throws Exception { when(accessTokenStorage.getAccessToken()).thenReturn(null); assertFalse(authenticator.isRefreshable()); }
@Test public void testIsRefreshable_validToken_returnsTrue() throws Exception { when(accessTokenStorage.getAccessToken()).thenReturn(accessToken); when(accessToken.getRefreshToken()).thenReturn("refreshToken"); assertTrue(authenticator.isRefreshable()); }
@Test public void testIsRefreshable_noRefreshToken_returnsFalse() throws Exception { when(accessTokenStorage.getAccessToken()).thenReturn(accessToken); when(accessToken.getRefreshToken()).thenReturn(null); assertFalse(authenticator.isRefreshable()); }