final long expiresAt = accessToken.getExpiresAt(); if (expiresAt != 0) { if (currentTime >= expiresAt) { final long expiresAt = refreshToken.getExpiresAt(); if (expiresAt != 0) { if (currentTime >= expiresAt) {
@Test public void testHandleRequest_5() throws Exception { final CodeAuthorizationResponseHandler fixture = CodeAuthorizationResponseHandlerTest.carh; final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Redirecting(); final HttpServletRequest request = new DummyHttpServletRequest(); final OAuth2HandlerError result = fixture.handleRequest(accessor, request); Assert.assertNull(result); final OAuth2Token accessToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testHandleRequest_5() throws Exception { final CodeAuthorizationResponseHandler fixture = CodeAuthorizationResponseHandlerTest.carh; final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Redirecting(); final HttpServletRequest request = new DummyHttpServletRequest(); final OAuth2HandlerError result = fixture.handleRequest(accessor, request); Assert.assertNull(result); final OAuth2Token accessToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testHandleResponse_6() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "BAD"); builder.setContent("access_token=xxx&token_type=Bearer&expires=1&refresh_token=yyy&example_parameter=example_value"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); } }
@Test public void testHandleResponse_6() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "BAD"); builder.setContent("access_token=xxx&token_type=Bearer&expires=1&refresh_token=yyy&example_parameter=example_value"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); } }
@Test public void testHandleResponse_4() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "text/plain"); builder.setContent("access_token=xxx&token_type=Bearer&expires=1&refresh_token=yyy&example_parameter=example_value"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testHandleResponse_5() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "application/json"); builder.setContent("{\"access_token\":\"xxx\",\"token_type\":\"Bearer\",\"expires_in\":\"1\",\"refresh_token\":\"yyy\",\"example_parameter\":\"example_value\"}"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testHandleResponse_4() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "text/plain"); builder.setContent("access_token=xxx&token_type=Bearer&expires=1&refresh_token=yyy&example_parameter=example_value"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testHandleResponse_5() throws Exception { final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Code(); final HttpResponseBuilder builder = new HttpResponseBuilder().setStrictNoCache(); builder.setHttpStatusCode(HttpResponse.SC_OK); builder.setHeader("Content-Type", "application/json"); builder.setContent("{\"access_token\":\"xxx\",\"token_type\":\"Bearer\",\"expires_in\":\"1\",\"refresh_token\":\"yyy\",\"example_parameter\":\"example_value\"}"); final HttpResponse response = builder.create(); final OAuth2HandlerError result = TokenAuthorizationResponseHandlerTest.tarh.handleResponse( accessor, response); Assert.assertNull(result); final OAuth2Token accessToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = TokenAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); }
@Test public void testStoreToken_1() throws Exception { OAuth2Token token = new OAuth2TokenPersistence(MockUtils.getDummyEncrypter()); token.setGadgetUri("xxx"); token.setServiceName("yyy"); token.setExpiresAt(2); token.setIssuedAt(1); token.setMacAlgorithm(OAuth2Message.HMAC_SHA_1); token.setMacSecret("shh, it's a secret".getBytes("UTF-8")); token.setScope("mac_scope"); token.setSecret("i'll never tell".getBytes("UTF-8")); token.setTokenType(OAuth2Message.MAC_TOKEN_TYPE); token.setType(OAuth2Token.Type.ACCESS); token.setUser("zzz"); this.cache.storeToken(token); token = this.cache.getToken(token.getGadgetUri(), token.getServiceName(), token.getUser(), token.getScope(), token.getType()); Assert.assertNotNull(token); Assert.assertEquals("xxx", token.getGadgetUri()); Assert.assertEquals("yyy", token.getServiceName()); Assert.assertEquals(2, token.getExpiresAt()); Assert.assertEquals(1, token.getIssuedAt()); Assert.assertEquals(OAuth2Message.HMAC_SHA_1, token.getMacAlgorithm()); Assert.assertEquals("shh, it's a secret", new String(token.getMacSecret(), "UTF-8")); Assert.assertEquals("mac_scope", token.getScope()); Assert.assertEquals("i'll never tell", new String(token.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.MAC_TOKEN_TYPE, token.getTokenType()); Assert.assertEquals(OAuth2Token.Type.ACCESS, token.getType()); Assert.assertEquals("zzz", token.getUser()); }
@Test public void testStoreToken_1() throws Exception { OAuth2Token token = new OAuth2TokenPersistence(MockUtils.getDummyEncrypter()); token.setGadgetUri("xxx"); token.setServiceName("yyy"); token.setExpiresAt(2); token.setIssuedAt(1); token.setMacAlgorithm(OAuth2Message.HMAC_SHA_1); token.setMacSecret("shh, it's a secret".getBytes("UTF-8")); token.setScope("mac_scope"); token.setSecret("i'll never tell".getBytes("UTF-8")); token.setTokenType(OAuth2Message.MAC_TOKEN_TYPE); token.setType(OAuth2Token.Type.ACCESS); token.setUser("zzz"); this.cache.storeToken(token); token = this.cache.getToken(token.getGadgetUri(), token.getServiceName(), token.getUser(), token.getScope(), token.getType()); Assert.assertNotNull(token); Assert.assertEquals("xxx", token.getGadgetUri()); Assert.assertEquals("yyy", token.getServiceName()); Assert.assertEquals(2, token.getExpiresAt()); Assert.assertEquals(1, token.getIssuedAt()); Assert.assertEquals(OAuth2Message.HMAC_SHA_1, token.getMacAlgorithm()); Assert.assertEquals("shh, it's a secret", new String(token.getMacSecret(), "UTF-8")); Assert.assertEquals("mac_scope", token.getScope()); Assert.assertEquals("i'll never tell", new String(token.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.MAC_TOKEN_TYPE, token.getTokenType()); Assert.assertEquals(OAuth2Token.Type.ACCESS, token.getType()); Assert.assertEquals("zzz", token.getUser()); }
@Test public void testHandleRequest_verifyAnonymousTokenOnRequest() throws Exception { MockUtils.DummyHttpFetcher fetcher = (MockUtils.DummyHttpFetcher)MockUtils.getDummyFetcher(); CodeAuthorizationResponseHandler fixture = new CodeAuthorizationResponseHandler( MockUtils.getDummyMessageProvider(), MockUtils.getDummyClientAuthHandlers(), MockUtils.getDummyTokenEndpointResponseHandlers(), fetcher); final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Redirecting(); final HttpServletRequest request = new DummyHttpServletRequest(); final OAuth2HandlerError result = fixture.handleRequest(accessor, request); Assert.assertNull(result); final OAuth2Token accessToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); Assert.assertNotNull( fetcher.request ); SecurityToken st = fetcher.request.getSecurityToken(); Assert.assertNotNull( st ); Assert.assertTrue( st.isAnonymous() ); Assert.assertEquals( accessor.getGadgetUri(), st.getAppUrl() ); }
@Test public void testHandleRequest_verifyAnonymousTokenOnRequest() throws Exception { MockUtils.DummyHttpFetcher fetcher = (MockUtils.DummyHttpFetcher)MockUtils.getDummyFetcher(); CodeAuthorizationResponseHandler fixture = new CodeAuthorizationResponseHandler( MockUtils.getDummyMessageProvider(), MockUtils.getDummyClientAuthHandlers(), MockUtils.getDummyTokenEndpointResponseHandlers(), fetcher); final OAuth2Accessor accessor = MockUtils.getOAuth2Accessor_Redirecting(); final HttpServletRequest request = new DummyHttpServletRequest(); final OAuth2HandlerError result = fixture.handleRequest(accessor, request); Assert.assertNull(result); final OAuth2Token accessToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.ACCESS); Assert.assertNotNull(accessToken); Assert.assertEquals("xxx", new String(accessToken.getSecret(), "UTF-8")); Assert.assertEquals(OAuth2Message.BEARER_TOKEN_TYPE, accessToken.getTokenType()); Assert.assertTrue(accessToken.getExpiresAt() > 1000); final OAuth2Token refreshToken = CodeAuthorizationResponseHandlerTest.store.getToken( accessor.getGadgetUri(), accessor.getServiceName(), accessor.getUser(), accessor.getScope(), OAuth2Token.Type.REFRESH); Assert.assertNotNull(refreshToken); Assert.assertEquals("yyy", new String(refreshToken.getSecret(), "UTF-8")); Assert.assertNotNull( fetcher.request ); SecurityToken st = fetcher.request.getSecurityToken(); Assert.assertNotNull( st ); Assert.assertTrue( st.isAnonymous() ); Assert.assertEquals( accessor.getGadgetUri(), st.getAppUrl() ); }