You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2011/05/09 05:40:58 UTC

svn commit: r1100872 - in /shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet: FakeProcessor.java GadgetsHandlerServiceTest.java

Author: lindner
Date: Mon May  9 03:40:57 2011
New Revision: 1100872

URL: http://svn.apache.org/viewvc?rev=1100872&view=rev
Log:
SHINDIG-1532 | Patch from Igor Belakovskiy | Additional tests for Feature Parameters

Modified:
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java?rev=1100872&r1=1100871&r2=1100872&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeProcessor.java Mon May  9 03:40:57 2011
@@ -18,6 +18,7 @@
  */
 package org.apache.shindig.gadgets.servlet;
 
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Maps;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.gadgets.Gadget;
@@ -29,6 +30,7 @@ import org.apache.shindig.gadgets.proces
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 import org.apache.shindig.gadgets.spec.View;
 
+import java.util.List;
 import java.util.Map;
 
 public class FakeProcessor extends Processor {
@@ -37,10 +39,19 @@ public class FakeProcessor extends Proce
   public static final Uri SPEC_URL = Uri.parse("http://example.org/g.xml");
   public static final Uri SPEC_URL2 = Uri.parse("http://example.org/g2.xml");
   public static final Uri SPEC_URL3 = Uri.parse("http://example.org/g3.xml");
+  public static final Uri SPEC_URL4 = Uri.parse("http://example.org/g4.xml");
   public static final String SPEC_TITLE = "JSON-TEST";
   public static final String SPEC_TITLE2 = "JSON-TEST2";
   public static final int PREFERRED_HEIGHT = 100;
   public static final int PREFERRED_WIDTH = 242;
+  public static final String FEATURE1="core";
+  public static final String FEATURE2="example-feature";
+  public static final String FEATURE3="example-feature2";
+  public static final String PARAM_NAME="param-name";
+  public static final String PARAM_NAME2="param-name2";
+  public static final String PARAM_VALUE="param-value";
+  public static final String PARAM_VALUE2="param-value2";
+  public static final String PARAM_VALUE3="param-value3";
   public static final String LINK_REL = "rel";
   public static final String LINK_HREF = "http://example.org/foo";
   public static final String SPEC_XML =
@@ -72,8 +83,34 @@ public class FakeProcessor extends Proce
       "<Content name=\"canvas\">Hello, world</Content>" +
       "</Module>";
 
+  public static final String SPEC_XML4 =
+      "<Module>" +
+      "<ModulePrefs title=\"" + SPEC_TITLE + "\">" +
+      "  <Link rel='" + LINK_REL + "' href='" + LINK_HREF + "'/>" +
+      "<Optional feature=\""+FEATURE2+"\">"+
+      "<Param name=\""+PARAM_NAME+"\">"+PARAM_VALUE+"</Param>"+
+      "<Param name=\""+PARAM_NAME+"\">"+PARAM_VALUE2+"</Param>"+
+      "</Optional>"+
+      "<Require feature=\""+FEATURE3+"\">"+
+      "<Param name=\""+PARAM_NAME2+"\">"+PARAM_VALUE3+"</Param>"+
+      "</Require>"+
+      "</ModulePrefs>" +
+      "<UserPref name=\"up_one\">" +
+      "  <EnumValue value=\"val1\" display_value=\"disp1\"/>" +
+      "  <EnumValue value=\"abc\" display_value=\"disp2\"/>" +
+      "  <EnumValue value=\"z_xabc\" display_value=\"disp3\"/>" +
+      "  <EnumValue value=\"foo\" display_value=\"disp4\"/>" +
+      "</UserPref>" +
+      "<Content type=\"html\"" +
+      " preferred_height = \"" + PREFERRED_HEIGHT + '\"' +
+      " preferred_width = \"" + PREFERRED_WIDTH + '\"' +
+      ">Hello, world</Content>" +
+      "</Module>";
+
   private final FeatureRegistry featureRegistry;
 
+  public static final List FEATURE_NAMES=ImmutableList.of(FEATURE1, FEATURE2, FEATURE3);
+
   public FakeProcessor() {
     this(null);
   }
@@ -83,6 +120,7 @@ public class FakeProcessor extends Proce
     this.gadgets.put(FakeProcessor.SPEC_URL, FakeProcessor.SPEC_XML);
     this.gadgets.put(FakeProcessor.SPEC_URL2, FakeProcessor.SPEC_XML2);
     this.gadgets.put(FakeProcessor.SPEC_URL3, FakeProcessor.SPEC_XML3);
+    this.gadgets.put(FakeProcessor.SPEC_URL4, FakeProcessor.SPEC_XML4);
     this.featureRegistry = featureRegistry;
   }
 

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java?rev=1100872&r1=1100871&r2=1100872&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java Mon May  9 03:40:57 2011
@@ -24,6 +24,7 @@ import static org.easymock.EasyMock.capt
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Multimap;
 
 import org.apache.commons.codec.binary.Base64;
 import org.apache.shindig.auth.SecurityToken;
@@ -45,6 +46,7 @@ import org.apache.shindig.gadgets.js.JsR
 import org.apache.shindig.gadgets.js.JsResponseBuilder;
 import org.apache.shindig.gadgets.js.JsServingPipeline;
 import org.apache.shindig.gadgets.process.ProcessingException;
+import org.apache.shindig.gadgets.servlet.GadgetsHandlerApi.Feature;
 import org.apache.shindig.gadgets.uri.JsUriManager;
 import org.apache.shindig.gadgets.uri.ProxyUriManager;
 import org.apache.shindig.gadgets.uri.JsUriManager.JsUri;
@@ -208,6 +210,32 @@ public class GadgetsHandlerServiceTest e
     verify();
   }
 
+  @SuppressWarnings("unchecked")
+  @Test
+  public void testGetMetadataWithParams() throws Exception {
+    GadgetsHandlerApi.MetadataRequest request = createMetadataRequest(
+        FakeProcessor.SPEC_URL4, CONTAINER, "default",
+        createAuthContext(null, null), ImmutableList.of("*"));
+    EasyMock.expect(mockRegistry.getFeatures(EasyMock.isA(List.class)))
+        .andReturn(Lists.newArrayList("auth-refresh"));
+    replay();
+    GadgetsHandlerApi.MetadataResponse response =
+        gadgetHandler.getMetadata(request);
+
+    Map<String, Feature> features=response.getModulePrefs().getFeatures();
+    //make sure that the feature set contains all the features, and no extra features
+    //Note that the core feature is automatically included.
+    assertTrue(features.containsKey(FakeProcessor.FEATURE1) &&
+        features.containsKey(FakeProcessor.FEATURE2) &&
+        features.containsKey(FakeProcessor.FEATURE3) &&
+        features.size()==3);
+    Multimap<String, String> params1=features.get(FakeProcessor.FEATURE2).getParams();
+    assertEquals(ImmutableList.of(FakeProcessor.PARAM_VALUE, FakeProcessor.PARAM_VALUE2), params1.get(FakeProcessor.PARAM_NAME));
+    Multimap<String, String> params2=features.get(FakeProcessor.FEATURE3).getParams();
+    assertEquals(ImmutableList.of(FakeProcessor.PARAM_VALUE3), params2.get(FakeProcessor.PARAM_NAME2));
+
+    verify();
+  }
   @Test
   public void testGetToken() throws Exception {
     GadgetsHandlerApi.TokenRequest request = createTokenRequest(