Author: evan
Date: Mon Jul 7 11:17:01 2008
New Revision: 674575
URL: http://svn.apache.org/viewvc?rev=674575&view=rev
Log:
FakeGadgetToken now supports setting / getting all values. Now just has no-arg
constructor, call setXXX() to set specific security token fields.
Note: Per separate thread, will move this file into test when we have the test
harness project.
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/testing/FakeGadgetToken.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTaskTest.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/UserIdTest.java
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/testing/FakeGadgetToken.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/testing/FakeGadgetToken.java?rev=674575&r1=674574&r2=674575&view=diff
==============================================================================
---
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/testing/FakeGadgetToken.java
(original)
+++
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/testing/FakeGadgetToken.java
Mon Jul 7 11:17:01 2008
@@ -18,43 +18,82 @@
*/
package org.apache.shindig.common.testing;
+import com.google.common.collect.Maps;
+
import org.apache.shindig.common.SecurityToken;
+import org.apache.shindig.common.SecurityTokenDecoder;
+
+import java.util.Map;
/**
* A fake SecurityToken implementation to help testing.
*/
public class FakeGadgetToken implements SecurityToken {
- private String updatedToken;
- private String trustedJson;
+ private String updatedToken = null;
+ private String trustedJson = null;
+
+ private String ownerId = null;
+ private String viewerId = null;
+ private String appId = null;
+ private String domain = null;
+ private String appUrl = null;
+ private int moduleId = 0;
- public FakeGadgetToken() {
- this(null, null);
+ public FakeGadgetToken setUpdatedToken(String updatedToken) {
+ this.updatedToken = updatedToken;
+ return this;
}
- public FakeGadgetToken(String updatedToken) {
- this(updatedToken, null);
+ public FakeGadgetToken setTrustedJson(String trustedJson) {
+ this.trustedJson = trustedJson;
+ return this;
}
- public FakeGadgetToken(String updatedToken, String trustedJson) {
- this.updatedToken = updatedToken;
- this.trustedJson = trustedJson;
+ public FakeGadgetToken setOwnerId(String ownerId) {
+ this.ownerId = ownerId;
+ return this;
+ }
+
+ public FakeGadgetToken setViewerId(String viewerId) {
+ this.viewerId = viewerId;
+ return this;
+ }
+
+ public FakeGadgetToken setAppId(String appId) {
+ this.appId = appId;
+ return this;
+ }
+
+ public FakeGadgetToken setDomain(String domain) {
+ this.domain = domain;
+ return this;
+ }
+
+ public FakeGadgetToken setAppUrl(String appUrl) {
+ this.appUrl = appUrl;
+ return this;
+ }
+
+ public FakeGadgetToken setModuleId(int moduleId) {
+ this.moduleId = moduleId;
+ return this;
}
public String getOwnerId() {
- return "owner";
+ return ownerId;
}
public String getViewerId() {
- return "viewer";
+ return viewerId;
}
public String getAppId() {
- return "app1234";
+ return appId;
}
public String getDomain() {
- return "domain";
+ return domain;
}
public String toSerialForm() {
@@ -62,11 +101,11 @@
}
public String getAppUrl() {
- return "http://www.example.com/app.xml";
+ return appUrl;
}
public long getModuleId() {
- return 0;
+ return moduleId;
}
public String getUpdatedToken() {
@@ -76,4 +115,65 @@
public String getTrustedJson() {
return trustedJson;
}
+
+ /**
+ * Create a fake security token parameter string, allows passing around a
+ * security token of format key=value&key2=value2, where key is one of:
+ * ownerId, viewerId, domain, appUrl, appId, trustedJson, module.
+ *
+ * Useful for creating tokens that can be decoded with
FakeGadgetToken.Decoder
+ *
+ * @param tokenString the parameter string
+ * @return The fake token
+ */
+ public static SecurityToken createToken(String tokenString) {
+ String keyValuePairs[] = tokenString.split("&");
+ Map<String, String> paramMap = Maps.newHashMap();
+
+ for (String keyValuePair : keyValuePairs) {
+ String[] keyAndValue = keyValuePair.split("=");
+ if (keyAndValue.length == 2) {
+ paramMap.put(keyAndValue[0], keyAndValue[1]);
+ }
+ }
+
+ return createToken(paramMap);
+ }
+
+ /**
+ * Create a fake security token from a map of parameter strings, keys are
one of:
+ * ownerId, viewerId, domain, appUrl, appId, trustedJson, module
+ *
+ * @param paramMap
+ * @return The fake token
+ */
+ public static SecurityToken createToken(Map<String, String> paramMap) {
+ FakeGadgetToken fakeToken = new FakeGadgetToken();
+
+ fakeToken.setAppId(paramMap.get("appId"));
+ fakeToken.setAppUrl(paramMap.get("appUrl"));
+ fakeToken.setDomain(paramMap.get("domain"));
+ fakeToken.setOwnerId(paramMap.get("ownerId"));
+ fakeToken.setTrustedJson(paramMap.get("trustedJson"));
+ fakeToken.setViewerId(paramMap.get("viewerId"));
+
+ String moduleIdStr = paramMap.get("module");
+ if (moduleIdStr != null) {
+ fakeToken.setModuleId(Integer.parseInt(moduleIdStr));
+ }
+
+ return fakeToken;
+ }
+
+ /**
+ * SecurityTokenDecoder for testing - this allows passing around a
+ * security token of format key=value&key2=value2, where key is one of:
+ * ownerId, viewerId, domain, appUrl, appId, trustedJson, module
+ */
+ public static class Decoder implements SecurityTokenDecoder {
+ public SecurityToken createToken(Map<String, String> tokenParameters) {
+ return FakeGadgetToken.createToken(tokenParameters);
+ }
+ }
+
}
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTaskTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTaskTest.java?rev=674575&r1=674574&r2=674575&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTaskTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingTaskTest.java
Mon Jul 7 11:17:01 2008
@@ -212,7 +212,8 @@
public void testAuthTokenInjection_allparams() throws Exception {
expect(fixture.request.getParameter("st")).andReturn("fake-token");
expect(securityTokenDecoder.createToken(Collections.singletonMap(SecurityTokenDecoder.SECURITY_TOKEN_NAME,
"fake-token"))).andReturn(
- new FakeGadgetToken("updated-token", "{ \"foo\" : \"bar\" }"));
+ new FakeGadgetToken().setUpdatedToken("updated-token")
+ .setTrustedJson("{ \"foo\" : \"bar\" }"));
String content = parseBasicGadget(GadgetSpec.DEFAULT_VIEW);
JSONObject auth = parseShindigAuthConfig(content);
assertEquals("updated-token", auth.getString("authToken"));
@@ -231,7 +232,7 @@
public void testAuthTokenInjection_trustedJson() throws Exception {
expect(fixture.request.getParameter("st")).andReturn("fake-token");
expect(securityTokenDecoder.createToken(Collections.singletonMap(SecurityTokenDecoder.SECURITY_TOKEN_NAME,
"fake-token"))).andReturn(
- new FakeGadgetToken(null, "trusted"));
+ new FakeGadgetToken().setTrustedJson("trusted"));
String content = parseBasicGadget(GadgetSpec.DEFAULT_VIEW);
JSONObject auth = parseShindigAuthConfig(content);
assertEquals(1, auth.length());
@@ -241,7 +242,7 @@
public void testAuthTokenInjection_updatedToken() throws Exception {
expect(fixture.request.getParameter("st")).andReturn("fake-token");
expect(securityTokenDecoder.createToken(Collections.singletonMap(SecurityTokenDecoder.SECURITY_TOKEN_NAME,
"fake-token"))).andReturn(
- new FakeGadgetToken("updated-token", null));
+ new FakeGadgetToken().setUpdatedToken("updated-token"));
String content = parseBasicGadget(GadgetSpec.DEFAULT_VIEW);
JSONObject auth = parseShindigAuthConfig(content);
assertEquals(1, auth.length());
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java?rev=674575&r1=674574&r2=674575&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/MakeRequestHandlerTest.java
Mon Jul 7 11:17:01 2008
@@ -289,7 +289,7 @@
// Doesn't actually sign since it returns the standard fetcher.
// Signing tests are in SigningFetcherTest
expectGetAndReturnBody(fixture.signingFetcher, RESPONSE_BODY);
- FakeGadgetToken authToken = new FakeGadgetToken("updated");
+ FakeGadgetToken authToken = new
FakeGadgetToken().setUpdatedToken("updated");
expect(fixture.securityTokenDecoder.createToken(Collections.singletonMap(SecurityTokenDecoder.SECURITY_TOKEN_NAME,
"fake-token"))).andReturn(authToken);
expect(fixture.request.getParameter(MakeRequestHandler.SECURITY_TOKEN_PARAM))
.andReturn("fake-token").atLeastOnce();
@@ -309,7 +309,7 @@
// Doesn't actually do oauth dance since it returns the standard fetcher.
// OAuth tests are in OAuthFetcherTest
expectGetAndReturnBody(fixture.oauthFetcher, RESPONSE_BODY);
- FakeGadgetToken authToken = new FakeGadgetToken("updated");
+ FakeGadgetToken authToken = new
FakeGadgetToken().setUpdatedToken("updated");
expect(fixture.securityTokenDecoder.createToken(Collections.singletonMap(SecurityTokenDecoder.SECURITY_TOKEN_NAME,
"fake-token"))).andReturn(authToken);
expect(fixture.request.getParameter(MakeRequestHandler.SECURITY_TOKEN_PARAM))
.andReturn("fake-token").atLeastOnce();
Modified:
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/UserIdTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/UserIdTest.java?rev=674575&r1=674574&r2=674575&view=diff
==============================================================================
---
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/UserIdTest.java
(original)
+++
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/UserIdTest.java
Mon Jul 7 11:17:01 2008
@@ -25,10 +25,10 @@
public void testGetUserId() throws Exception {
UserId owner = new UserId(UserId.Type.owner, "hello");
- assertEquals("owner", owner.getUserId(new FakeGadgetToken()));
+ assertEquals("owner", owner.getUserId(new
FakeGadgetToken().setOwnerId("owner")));
UserId viewer = new UserId(UserId.Type.viewer, "hello");
- assertEquals("viewer", viewer.getUserId(new FakeGadgetToken()));
+ assertEquals("viewer", viewer.getUserId(new
FakeGadgetToken().setViewerId("viewer")));
UserId user = new UserId(UserId.Type.userId, "hello");
assertEquals("hello", user.getUserId(new FakeGadgetToken()));