Repository: knox
Updated Branches:
  refs/heads/master 7819df638 -> a492c678a


KNOX-693 - added test for SSOCookieProvider and no expiry time

Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/a492c678
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/a492c678
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/a492c678

Branch: refs/heads/master
Commit: a492c678ae3bf9a5f661a9127508fe5dfe24f9ac
Parents: 7819df6
Author: Larry McCay <lmc...@hortonworks.com>
Authored: Wed Mar 16 14:28:31 2016 -0400
Committer: Larry McCay <lmc...@hortonworks.com>
Committed: Wed Mar 16 14:28:31 2016 -0400

----------------------------------------------------------------------
 .../federation/SSOCookieProviderTest.java       | 35 ++++++++++++++++++++
 1 file changed, 35 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/a492c678/gateway-provider-security-jwt/src/test/java/org/apache/hadoop/gateway/provider/federation/SSOCookieProviderTest.java
----------------------------------------------------------------------
diff --git 
a/gateway-provider-security-jwt/src/test/java/org/apache/hadoop/gateway/provider/federation/SSOCookieProviderTest.java
 
b/gateway-provider-security-jwt/src/test/java/org/apache/hadoop/gateway/provider/federation/SSOCookieProviderTest.java
index c6f1cae..4126624 100644
--- 
a/gateway-provider-security-jwt/src/test/java/org/apache/hadoop/gateway/provider/federation/SSOCookieProviderTest.java
+++ 
b/gateway-provider-security-jwt/src/test/java/org/apache/hadoop/gateway/provider/federation/SSOCookieProviderTest.java
@@ -336,6 +336,41 @@ public class SSOCookieProviderTest  {
   }
 
   @Test
+  public void testValidJWTNoExpiration() throws Exception {
+    try {
+      ((TestSSOCookieFederationProvider) handler).setPublicKey(publicKey);
+
+      Properties props = getProperties();
+      handler.init(new TestFilterConfig(props));
+
+      SignedJWT jwt = getJWT("alice", null,
+          privateKey);
+
+      Cookie cookie = new Cookie("hadoop-jwt", jwt.serialize());
+      HttpServletRequest request = 
EasyMock.createNiceMock(HttpServletRequest.class);
+      EasyMock.expect(request.getCookies()).andReturn(new Cookie[] { cookie });
+      EasyMock.expect(request.getRequestURL()).andReturn(
+          new StringBuffer(SERVICE_URL));
+      EasyMock.expect(request.getQueryString()).andReturn(null);
+      HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
+      EasyMock.expect(response.encodeRedirectURL(SERVICE_URL)).andReturn(
+          SERVICE_URL);
+      EasyMock.replay(request);
+
+      ((TestSSOCookieFederationProvider) handler).setTokenService(new 
TestJWTokenAuthority());
+      TestFilterChain chain = new TestFilterChain();
+      handler.doFilter(request, response, chain);
+      Assert.assertTrue("doFilterCalled should not be false.", 
chain.doFilterCalled == true);
+      Set<PrimaryPrincipal> principals = 
chain.subject.getPrincipals(PrimaryPrincipal.class);
+      Assert.assertTrue("No PrimaryPrincipal", principals.size() > 0);
+      Assert.assertEquals("Not the expected principal", "alice", 
((Principal)principals.toArray()[0]).getName());
+//      Assert.assertEquals("alice", token.getUserName());
+    } catch (ServletException se) {
+      fail("Should NOT have thrown a ServletException.");
+    }
+  }
+
+  @Test
   public void testOrigURLWithQueryString() throws Exception {
     Properties props = getProperties();
     handler.init(new TestFilterConfig(props));

Reply via email to