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_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 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 testSignedByOldToken_whenEqual_returnFalse() throws Exception { when(accessToken.getToken()).thenReturn("token1234"); doCallRealMethod().when(authenticator).createBearerToken(eq(accessToken)); Request request = dummyRequest.newBuilder().header("Authorization", "Bearer token1234").build(); Response response = dummyResponse.newBuilder().request(request).build(); assertFalse(authenticator.signedByOldToken(response, accessToken)); }
@Test public void testSignedByOldToken_whenNotEqual_returnTrue() throws Exception { when(accessToken.getToken()).thenReturn("token1234"); doCallRealMethod().when(authenticator).createBearerToken(eq(accessToken)); Request request = dummyRequest.newBuilder().header("Authorization", "Bearer token123").build(); Response response = dummyResponse.newBuilder().request(request).build(); assertTrue(authenticator.signedByOldToken(response, accessToken)); }