Author: scottbw
Date: Tue Mar 4 13:13:08 2014
New Revision: 1574087
URL: http://svn.apache.org/r1574087
Log:
Use convenience constructors for tokens in tests, also added tests for nonce
and single use
Modified:
wookie/trunk/wookie-server/src/test/java/org/apache/wookie/auth/AuthTokenUtilsTest.java
Modified:
wookie/trunk/wookie-server/src/test/java/org/apache/wookie/auth/AuthTokenUtilsTest.java
URL:
http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/test/java/org/apache/wookie/auth/AuthTokenUtilsTest.java?rev=1574087&r1=1574086&r2=1574087&view=diff
==============================================================================
---
wookie/trunk/wookie-server/src/test/java/org/apache/wookie/auth/AuthTokenUtilsTest.java
(original)
+++
wookie/trunk/wookie-server/src/test/java/org/apache/wookie/auth/AuthTokenUtilsTest.java
Tue Mar 4 13:13:08 2014
@@ -45,7 +45,7 @@ public class AuthTokenUtilsTest{
apiKey.setValue("ENC_TEST");
apiKey.setSecret("[email protected]");
- AuthToken authToken = new AuthToken();
+ AuthToken authToken = AuthToken.STANDARD_LIFESPAN_TOKEN();
authToken.setApiKey(apiKey);
authToken.setContextId("shared");
authToken.setViewerId("user1");
@@ -69,7 +69,7 @@ public class AuthTokenUtilsTest{
apiKey.setValue("ENC_TEST");
apiKey.setSecret("[email protected]");
- AuthToken authToken = new AuthToken();
+ AuthToken authToken = AuthToken.STANDARD_LIFESPAN_TOKEN();
authToken.setApiKey(apiKey);
authToken.setContextId("shared");
authToken.setViewerId("user1");
@@ -93,7 +93,7 @@ public class AuthTokenUtilsTest{
apiKey.setValue("ENC_TEST");
apiKey.setSecret("[email protected]");
- AuthToken authToken = new AuthToken();
+ AuthToken authToken = AuthToken.STANDARD_LIFESPAN_TOKEN();
authToken.setApiKey(apiKey);
authToken.setContextId("shared");
authToken.setViewerId("user1");
@@ -123,7 +123,7 @@ public class AuthTokenUtilsTest{
apiKey.setValue("ENC_TEST");
apiKey.setSecret("[email protected]");
- AuthToken authToken = new AuthToken();
+ AuthToken authToken = AuthToken.STANDARD_LIFESPAN_TOKEN();
authToken.setApiKey(apiKey);
authToken.setContextId("shared");
authToken.setViewerId("user1");
@@ -153,7 +153,7 @@ public class AuthTokenUtilsTest{
apiKey.setValue("ENC_TEST");
apiKey.setSecret("[email protected]");
- AuthToken authToken = new AuthToken();
+ AuthToken authToken = AuthToken.STANDARD_LIFESPAN_TOKEN();
authToken.setApiKey(apiKey);
authToken.setContextId("shared");
authToken.setViewerId("user1");
@@ -180,7 +180,7 @@ public class AuthTokenUtilsTest{
apiKey.setValue("ENC_TEST_BAD");
apiKey.setSecret("[email protected]");
- AuthToken authToken = new AuthToken();
+ AuthToken authToken = AuthToken.STANDARD_LIFESPAN_TOKEN();
authToken.setApiKey(apiKey);
authToken.setContextId("shared");
authToken.setViewerId("user1");
@@ -204,9 +204,58 @@ public class AuthTokenUtilsTest{
assertEquals(InvalidAuthTokenException.INVALID_CONTENT,
errorCode);
}
+ @Test
+ public void singleUseToken() throws Exception{
+ ApiKey apiKey = new ApiKey();
+ apiKey.setValue("ENC_TEST");
+ apiKey.setSecret("[email protected]");
+ AuthToken authToken1 = AuthToken.STANDARD_LIFESPAN_TOKEN();
+ authToken1.setApiKey(apiKey);
+ authToken1.setContextId("test");
+ authToken1.setViewerId("viewer");
+ authToken1.setWidgetId("http://apache.org/widgets/test");
+ authToken1.setLang("en");
+
+ AuthToken authToken2 = AuthToken.SINGLE_USE_TOKEN(authToken1);
+
+ // The two token core content are identical...
+ assertTrue(authToken1.toString().equals(authToken2.toString()));
+
+ // but token 2 is single use
+ assertTrue(authToken2.isSingleUse());
+
+ }
+
+ // Make sure that we always get a new nonce, and therefore a new
encrypted token string
+ @Test
+ public void copyOfToken() throws Exception{
+ ApiKey apiKey = new ApiKey();
+ apiKey.setValue("ENC_TEST");
+ apiKey.setSecret("[email protected]");
+ AuthToken authToken1 = AuthToken.STANDARD_LIFESPAN_TOKEN();
+ authToken1.setApiKey(apiKey);
+ authToken1.setContextId("test");
+ authToken1.setViewerId("viewer");
+ authToken1.setWidgetId("http://apache.org/widgets/test");
+ authToken1.setLang("en");
+
+ AuthToken authToken2 =
AuthToken.STANDARD_LIFESPAN_TOKEN(authToken1);
+
+ // The two token core content are identical...
+ assertTrue(authToken1.toString().equals(authToken2.toString()));
+
+ // ... but MUST have a different nonce...
+
assertFalse(authToken1.getNonce().equals(authToken2.getNonce()));
+
+ // ... and MUST results in a different string
+ String token1 = AuthTokenUtils.encryptAuthToken(authToken1);
+ String token2 = AuthTokenUtils.encryptAuthToken(authToken2);
+ assertFalse(token1.equals(token2));
+ }
+
@Test(expected=Exception.class)
public void encryptNullApiKey() throws Exception{
- AuthToken authToken = new AuthToken();
+ AuthToken authToken = AuthToken.STANDARD_LIFESPAN_TOKEN();
authToken.setApiKey(null);
authToken.setContextId("shared");
authToken.setViewerId("user1");