@Override public boolean isRefreshable() { return tokenStorage.getAccessToken() != null && tokenStorage.getAccessToken().getRefreshToken() != null; }
AccessToken refreshToken(AccessToken auth2Token) throws IOException { AccessToken newToken = auth2Service.refresh(auth2Token.getRefreshToken(), sessionConfiguration.getClientId()) .execute().body(); tokenStorage.setAccessToken(newToken); return newToken; }
AccessToken refreshToken(AccessToken auth2Token) throws IOException { AccessToken newToken = auth2Service.refresh(auth2Token.getRefreshToken(), sessionConfiguration.getClientId()) .execute().body(); tokenStorage.setAccessToken(newToken); return newToken; }
@Override public boolean isRefreshable() { return tokenStorage.getAccessToken() != null && tokenStorage.getAccessToken().getRefreshToken() != null; }
@Test public void testRefreshToken() throws Exception { when(accessToken.getRefreshToken()).thenReturn("refresh"); when(config.getClientId()).thenReturn("clientId"); when(service.refresh(eq("refresh"), eq("clientId"))).thenReturn(serviceResult); when(serviceResult.execute()).thenReturn(retrofit2.Response.success(accessToken)); assertEquals(accessToken, authenticator.refreshToken(accessToken)); verify(accessTokenStorage).setAccessToken(accessToken); }
@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 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 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_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_validToken_returnsTrue() throws Exception { when(accessTokenStorage.getAccessToken()).thenReturn(accessToken); when(accessToken.getRefreshToken()).thenReturn("refreshToken"); assertTrue(authenticator.isRefreshable()); }
@Test public void testIsRefreshable_noToken_returnsFalse() throws Exception { when(accessTokenStorage.getAccessToken()).thenReturn(null); assertFalse(authenticator.isRefreshable()); }
@Test public void testIsRefreshable_noRefreshToken_returnsFalse() throws Exception { when(accessTokenStorage.getAccessToken()).thenReturn(accessToken); when(accessToken.getRefreshToken()).thenReturn(null); assertFalse(authenticator.isRefreshable()); }