You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by rb...@apache.org on 2011/10/03 22:35:15 UTC

svn commit: r1178561 [2/2] - in /shindig/trunk: config/ content/samplecontainer/examples/ features/src/main/javascript/features/shared-script-frame/ java/gadgets/src/main/java/org/apache/shindig/gadgets/ java/gadgets/src/main/java/org/apache/shindig/ga...

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManagerTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManagerTest.java?rev=1178561&r1=1178560&r2=1178561&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManagerTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManagerTest.java Mon Oct  3 20:35:14 2011
@@ -18,7 +18,6 @@
  */
 package org.apache.shindig.gadgets.uri;
 
-import static org.apache.shindig.gadgets.uri.DefaultIframeUriManager.tplKey;
 import static org.apache.shindig.gadgets.uri.DefaultIframeUriManager.IFRAME_BASE_PATH_KEY;
 import static org.apache.shindig.gadgets.uri.DefaultIframeUriManager.LOCKED_DOMAIN_FEATURE_NAME;
 import static org.apache.shindig.gadgets.uri.DefaultIframeUriManager.LOCKED_DOMAIN_REQUIRED_KEY;
@@ -26,20 +25,18 @@ import static org.apache.shindig.gadgets
 import static org.apache.shindig.gadgets.uri.DefaultIframeUriManager.SECURITY_TOKEN_ALWAYS_KEY;
 import static org.apache.shindig.gadgets.uri.DefaultIframeUriManager.SECURITY_TOKEN_FEATURE_NAME;
 import static org.apache.shindig.gadgets.uri.DefaultIframeUriManager.UNLOCKED_DOMAIN_KEY;
-
+import static org.apache.shindig.gadgets.uri.DefaultIframeUriManager.tplKey;
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.isA;
 import static org.easymock.EasyMock.replay;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
+import java.util.List;
+import java.util.Map;
 
 import org.apache.shindig.auth.BasicSecurityTokenCodec;
 import org.apache.shindig.auth.SecurityTokenCodec;
@@ -49,15 +46,17 @@ import org.apache.shindig.config.BasicCo
 import org.apache.shindig.config.ContainerConfig;
 import org.apache.shindig.config.ContainerConfigException;
 import org.apache.shindig.gadgets.Gadget;
+import org.apache.shindig.gadgets.HashLockedDomainService;
+import org.apache.shindig.gadgets.LockedDomainService;
 import org.apache.shindig.gadgets.uri.UriCommon.Param;
-
 import org.junit.Test;
 
-import java.util.List;
-import java.util.Map;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 
 public class DefaultIframeUriManagerTest extends UriManagerTestBase {
-  private static final String LD_PREFIX = "LOCKED";
+  private static final String LD_PREFIX = "locked";
   private static final String IFRAME_PATH = "/gadgets/ifr";
   private static final String LD_SUFFIX = ".lockeddomain.com";
   private static final String LD_SUFFIX_ALT = ".altld.com";
@@ -70,6 +69,12 @@ public class DefaultIframeUriManagerTest
     public String getLockedDomainPrefix(Uri gadgetUri) {
       return LD_PREFIX;
     }
+
+    @Override
+    public String getLockedDomainPrefix(String token) {
+      // TODO Auto-generated method stub
+      return LD_PREFIX;
+    }
   };
 
   private static final SecurityTokenCodec tokenCodec = new BasicSecurityTokenCodec();
@@ -124,7 +129,6 @@ public class DefaultIframeUriManagerTest
 
     assertFalse(manager.tokenForRenderingCalled());
     assertTrue(manager.schemeCalled());
-    assertTrue(manager.ldExclusionCalled());
     assertTrue(manager.addExtrasCalled());
   }
 
@@ -169,7 +173,6 @@ public class DefaultIframeUriManagerTest
 
     assertFalse(manager.tokenForRenderingCalled());
     assertTrue(manager.schemeCalled());
-    assertTrue(manager.ldExclusionCalled());
     assertTrue(manager.addExtrasCalled());
   }
 
@@ -226,7 +229,6 @@ public class DefaultIframeUriManagerTest
 
     assertFalse(managerTpl.tokenForRenderingCalled());
     assertTrue(managerTpl.schemeCalled());
-    assertTrue(managerTpl.ldExclusionCalled());
     assertTrue(managerTpl.addExtrasCalled());
   }
 
@@ -281,7 +283,6 @@ public class DefaultIframeUriManagerTest
 
     assertFalse(manager.tokenForRenderingCalled());
     assertFalse(manager.schemeCalled());
-    assertFalse(manager.ldExclusionCalled());
     assertTrue(manager.addExtrasCalled());
   }
 
@@ -337,7 +338,6 @@ public class DefaultIframeUriManagerTest
 
     assertFalse(managerTpl.tokenForRenderingCalled());
     assertFalse(managerTpl.schemeCalled());
-    assertFalse(managerTpl.ldExclusionCalled());
     assertTrue(managerTpl.addExtrasCalled());
   }
 
@@ -392,7 +392,8 @@ public class DefaultIframeUriManagerTest
 
     TestDefaultIframeUriManager manager = makeManager(
         false,   // security token beacon not required
-        false);  // locked domain not (always) required
+        false,   // locked domain not (always) required
+        true);
 
     Uri result = manager.makeRenderingUri(gadget);
     assertNotNull(result);
@@ -434,30 +435,7 @@ public class DefaultIframeUriManagerTest
 
     TestDefaultIframeUriManager manager = makeManager(
         false,   // security token beacon not required
-        true);   // locked domain always required
-    manager.setLockedDomainEnabled(false);  // but alas, not enabled in the 1st place
-
-    Uri result = manager.makeRenderingUri(gadget);
-    assertNotNull(result);
-
-    UriBuilder uri = new UriBuilder(result);
-    assertEquals("", uri.getScheme());
-    assertEquals(UNLOCKED_DOMAIN, uri.getAuthority());
-    assertEquals(IFRAME_PATH, uri.getPath());
-
-    // Basic sanity checks on params
-    assertEquals(TYPE_HTML_NUM_BASE_PARAMS, uri.getQueryParameters().size());
-    assertEquals(0, uri.getFragmentParameters().size());
-  }
-
-  @Test
-  public void ldNotAddedWithExclusion() throws Exception {
-    Gadget gadget = mockGadget(LOCKED_DOMAIN_FEATURE_NAME);
-
-    TestDefaultIframeUriManager manager = makeManager(
-        false,   // security token beacon not required
-        true);   // locked domain always required
-    manager.setLdExclusion(true);  // but alas, excluded
+        false);   // locked domain always required
 
     Uri result = manager.makeRenderingUri(gadget);
     assertNotNull(result);
@@ -552,52 +530,6 @@ public class DefaultIframeUriManagerTest
   }
 
   @Test
-  public void invalidLockedDomainValidSuffix() throws Exception {
-    Uri uri = makeValidationTestUri(LD_PREFIX + LD_SUFFIX_ALT, null);
-    DefaultIframeUriManager manager = makeManager(false, false);
-    assertEquals(UriStatus.INVALID_DOMAIN, manager.validateRenderingUri(uri));
-  }
-
-  @Test
-  public void invalidLockedDomainInvalidSuffix() throws Exception {
-    Uri uri = makeValidationTestUri(LD_PREFIX + ".bad." + LD_SUFFIX, null);
-    DefaultIframeUriManager manager = makeManager(false, false);
-    assertEquals(UriStatus.INVALID_DOMAIN, manager.validateRenderingUri(uri));
-  }
-
-  @Test
-  public void invalidLockedDomainValidSuffixExclusionBypass() throws Exception {
-    Uri uri = makeValidationTestUri(LD_PREFIX + LD_SUFFIX_ALT, null);
-    TestDefaultIframeUriManager manager = makeManager(false, false);
-    manager.setLdExclusion(true);
-    assertEquals(UriStatus.VALID_UNVERSIONED, manager.validateRenderingUri(uri));
-  }
-
-  @Test
-  public void invalidLockedDomainInvalidSuffixExclusionBypass() throws Exception {
-    Uri uri = makeValidationTestUri(LD_PREFIX + ".bad." + LD_SUFFIX, null);
-    TestDefaultIframeUriManager manager = makeManager(false, false);
-    manager.setLdExclusion(true);
-    assertEquals(UriStatus.VALID_UNVERSIONED, manager.validateRenderingUri(uri));
-  }
-
-  @Test
-  public void invalidLockedDomainValidSuffixLdDisabled() throws Exception {
-    Uri uri = makeValidationTestUri(LD_PREFIX + LD_SUFFIX_ALT, null);
-    DefaultIframeUriManager manager = makeManager(false, false);
-    manager.setLockedDomainEnabled(false);
-    assertEquals(UriStatus.VALID_UNVERSIONED, manager.validateRenderingUri(uri));
-  }
-
-  @Test
-  public void invalidLockedDomainInvalidSuffixLdDisabled() throws Exception {
-    Uri uri = makeValidationTestUri(LD_PREFIX + ".bad." + LD_SUFFIX, null);
-    DefaultIframeUriManager manager = makeManager(false, false);
-    manager.setLockedDomainEnabled(false);
-    assertEquals(UriStatus.VALID_UNVERSIONED, manager.validateRenderingUri(uri));
-  }
-
-  @Test
   public void validUnversionedNoVersioner() throws Exception {
     Uri uri = makeValidationTestUri(LD_PREFIX + LD_SUFFIX, "version");
     DefaultIframeUriManager manager = makeManager(false, false);
@@ -642,10 +574,10 @@ public class DefaultIframeUriManagerTest
             .put(LOCKED_DOMAIN_REQUIRED_KEY, true)
             .build())
         .commit();
-    TestDefaultIframeUriManager manager = new TestDefaultIframeUriManager(config);
+    LockedDomainService ldService = new HashLockedDomainService(config, true, prefixGen);
+    TestDefaultIframeUriManager manager = new TestDefaultIframeUriManager(config, ldService);
 
     Uri testUri = Uri.parse("http://foobar" + LD_SUFFIX + "/?url=http://example.com");
-    assertEquals(UriStatus.INVALID_DOMAIN, manager.validateRenderingUri(testUri));
 
     config.newTransaction().addContainer(ImmutableMap
         .<String, Object>builder()
@@ -672,7 +604,8 @@ public class DefaultIframeUriManagerTest
                     .build())
                 .commit();
 
-    TestDefaultIframeUriManager manager = new TestDefaultIframeUriManager(config);
+    LockedDomainService ldService = new HashLockedDomainService(config, false, prefixGen);
+    TestDefaultIframeUriManager manager = new TestDefaultIframeUriManager(config, ldService);
 
     Uri renderingUri = manager.makeRenderingUri(gadget);
     assertNotNull(renderingUri);
@@ -701,6 +634,10 @@ public class DefaultIframeUriManagerTest
 
   private TestDefaultIframeUriManager makeManager(boolean alwaysToken, boolean ldRequired)
       throws ContainerConfigException {
+    return makeManager(alwaysToken, ldRequired, ldRequired ? true: false);
+  }
+  private TestDefaultIframeUriManager makeManager(boolean alwaysToken, boolean ldRequired, boolean enabled)
+      throws ContainerConfigException {
     String altContainer = CONTAINER + "-alt";
     ContainerConfig config = new BasicContainerConfig();
     config
@@ -726,7 +663,8 @@ public class DefaultIframeUriManagerTest
             .put(LOCKED_DOMAIN_SUFFIX_KEY, LD_SUFFIX_ALT)
             .build())
         .commit();
-    return new TestDefaultIframeUriManager(config);
+    LockedDomainService ldService = new HashLockedDomainService(config, enabled, prefixGen);
+    return new TestDefaultIframeUriManager(config, ldService);
   }
 
   private IframeUriManager.Versioner mockVersioner(String version, boolean valid) {
@@ -746,21 +684,14 @@ public class DefaultIframeUriManagerTest
   }
 
   private static final class TestDefaultIframeUriManager extends DefaultIframeUriManager {
-    private boolean ldExclusion = false;
-    private boolean ldExclusionCalled = false;
     private String scheme = "";
     private boolean schemeCalled = false;
     private boolean tokenForRendering = true;
     private boolean tokenForRenderingCalled = false;
     private boolean addExtrasCalled = false;
 
-    private TestDefaultIframeUriManager(ContainerConfig config) {
-      super(config, prefixGen, tokenCodec);
-    }
-
-    private TestDefaultIframeUriManager setLdExclusion(boolean ldExclusion) {
-      this.ldExclusion = ldExclusion;
-      return this;
+    private TestDefaultIframeUriManager(ContainerConfig config, LockedDomainService ldService) {
+      super(config, ldService, tokenCodec);
     }
 
     private TestDefaultIframeUriManager setScheme(String scheme) {
@@ -773,17 +704,6 @@ public class DefaultIframeUriManagerTest
       return this;
     }
 
-    /** Overridden methods for custom behavior */
-    @Override
-    protected boolean lockedDomainExclusion() {
-      this.ldExclusionCalled = true;
-      return ldExclusion;
-    }
-
-    private boolean ldExclusionCalled() {
-      return ldExclusionCalled;
-    }
-
     @Override
     protected String getScheme(Gadget gadget, String container) {
       this.schemeCalled = true;

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/HashShaLockedDomainPrefixGeneratorTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/HashShaLockedDomainPrefixGeneratorTest.java?rev=1178561&r1=1178560&r2=1178561&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/HashShaLockedDomainPrefixGeneratorTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/HashShaLockedDomainPrefixGeneratorTest.java Mon Oct  3 20:35:14 2011
@@ -34,15 +34,15 @@ import org.junit.Test;
  */
 public class HashShaLockedDomainPrefixGeneratorTest {
   private HashShaLockedDomainPrefixGenerator generator = new HashShaLockedDomainPrefixGenerator();
-  
+
   @Test
   public void generate() {
     Uri uri = Uri.parse("http://www.apache.org/gadget.xml");
     assertEquals("e5bld32ce9pe5ln81rjhe0d0e1vao1ba", generator.getLockedDomainPrefix(uri));
   }
-  
+
   @Test(expected = NullPointerException.class)
   public void isNull() {
-    generator.getLockedDomainPrefix(null);
+    generator.getLockedDomainPrefix((Uri)null);
   }
 }

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/UriManagerTestBase.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/UriManagerTestBase.java?rev=1178561&r1=1178560&r2=1178561&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/UriManagerTestBase.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/UriManagerTestBase.java Mon Oct  3 20:35:14 2011
@@ -116,6 +116,7 @@ public class UriManagerTestBase {
       featureMap.put(feature, null);
     }
     expect(gadget.getViewFeatures()).andReturn(featureMap).anyTimes();
+    expect(modulePrefs.getFeatures()).andReturn(featureMap).anyTimes();
 
     // User prefs
     Map<String, UserPref> specPrefMap = Maps.newLinkedHashMap();

Modified: shindig/trunk/php/test/gadgets/ContainerConfigTest.php
URL: http://svn.apache.org/viewvc/shindig/trunk/php/test/gadgets/ContainerConfigTest.php?rev=1178561&r1=1178560&r2=1178561&view=diff
==============================================================================
--- shindig/trunk/php/test/gadgets/ContainerConfigTest.php (original)
+++ shindig/trunk/php/test/gadgets/ContainerConfigTest.php Mon Oct  3 20:35:14 2011
@@ -63,7 +63,7 @@ class ContainerConfigTest extends PHPUni
 // Comments
 {"gadgets.container" : ["default"],
 "gadgets.parent" : null,
-"gadgets.lockedDomainSuffix" : "-a.example.com:8080",
+"gadgets.uri.iframe.lockedDomainSuffix" : "-a.example.com:8080",
 "gadgets.iframeBaseUri" : "/gadgets/ifr",
 "gadgets.jsUriTemplate" : "http://%host%/gadgets/js/%js%",
 "gadgets.uri.oauth.callbackTemplate" : "//%host%/gadgets/oauthcallback"
@@ -75,7 +75,7 @@ EOD;
     $this->assertNotEquals($uncommented, $jsonObj);
     $this->assertEquals(array("default"), $jsonObj["gadgets.container"]);
     $this->assertEquals(null, $jsonObj["gadgets.parent"]);
-    $this->assertEquals("-a.example.com:8080", $jsonObj["gadgets.lockedDomainSuffix"]);
+    $this->assertEquals("-a.example.com:8080", $jsonObj["gadgets.uri.iframe.lockedDomainSuffix"]);
     $this->assertEquals("/gadgets/ifr", $jsonObj["gadgets.iframeBaseUri"]);
     $this->assertEquals("http://%host%/gadgets/js/%js%", $jsonObj["gadgets.jsUriTemplate"]);
     $this->assertEquals("//%host%/gadgets/oauthcallback", $jsonObj["gadgets.uri.oauth.callbackTemplate"]);