Author: rbaxter85
Date: Thu Oct 27 14:17:52 2011
New Revision: 1189772
URL: http://svn.apache.org/viewvc?rev=1189772&view=rev
Log:
SHINDIG-1651
Committing For Stanton Sievers
Security tokens aren't returned on the iframeurl as part of a metadata response
when the gadget uses OAuth
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ModulePrefsTest.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java?rev=1189772&r1=1189771&r2=1189772&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java
Thu Oct 27 14:17:52 2011
@@ -839,6 +839,7 @@ public class ModulePrefs {
if (oauthMarker.booleanValue()) {
// <OAuth>/<OAuth2> tag found: security token needed.
features.put(Feature.SECURITY_TOKEN_FEATURE.getName(),
Feature.SECURITY_TOKEN_FEATURE);
+ globalFeatures.put(Feature.SECURITY_TOKEN_FEATURE.getName(),
Feature.SECURITY_TOKEN_FEATURE);
}
moduleprefs.features = ImmutableMap.copyOf(features);
moduleprefs.globalFeatures = ImmutableMap.copyOf(globalFeatures);
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ModulePrefsTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ModulePrefsTest.java?rev=1189772&r1=1189771&r2=1189772&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ModulePrefsTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ModulePrefsTest.java
Thu Oct 27 14:17:52 2011
@@ -134,7 +134,7 @@ public class ModulePrefsTest {
assertTrue(extra.containsKey("NavigationItem"));
assertEquals(1,
extra.get("NavigationItem").iterator().next().getChildNodes().getLength());
}
-
+
@Test
public void substitutionsCopyConstructor() throws Exception{
ModulePrefs basePrefs = new ModulePrefs(XmlUtil.parse(FULL_XML), SPEC_URL);
@@ -182,7 +182,7 @@ public class ModulePrefsTest {
spec = prefs.getGlobalLocale(new Locale("en", "notexist"));
assertNull(spec);
}
-
+
@Test
public void getViewLocale() throws Exception {
String xml = "<ModulePrefs title='locales'>" +
@@ -220,27 +220,29 @@ public class ModulePrefsTest {
assertEquals(link1Href, prefs.getLinks().get(link1Rel).getHref());
assertEquals(SPEC_URL.resolve(link2Href),
prefs.getLinks().get(link2Rel).getHref());
}
-
+
@Test
public void getViewFeatures() throws Exception {
ModulePrefs prefs = new ModulePrefs(XmlUtil.parse(FULL_XML), SPEC_URL);
Map<String, Feature> features = prefs.getViewFeatures("default");
- assertEquals(4, features.size());
+ assertEquals(5, features.size());
assertTrue(features.containsKey("requiredview1"));
assertTrue(features.containsKey("require"));
assertTrue(features.containsKey("optional"));
assertTrue(features.containsKey("core"));
+ assertTrue(features.containsKey("security-token"));
assertTrue(!features.containsKey("requiredview2"));
features = prefs.getViewFeatures("view2");
- assertEquals(4, features.size());
+ assertEquals(5, features.size());
assertTrue(features.containsKey("requiredview2"));
assertTrue(features.containsKey("require"));
assertTrue(features.containsKey("optional"));
assertTrue(features.containsKey("core"));
+ assertTrue(features.containsKey("security-token"));
assertTrue(!features.containsKey("requiredview1"));
}
-
+
@Test
public void getViewFeatureParams() throws Exception {
ModulePrefs prefs = new ModulePrefs(XmlUtil.parse(FULL_XML), SPEC_URL);
@@ -265,7 +267,7 @@ public class ModulePrefsTest {
String rel = "foo-bar";
String linkHref = "http://example.org/link.html";
String preHref = "http://example.org/preload.html";
- String testParam = "bar-foo";
+ String testParam = "bar-foo";
ModulePrefs prefs = new ModulePrefs(XmlUtil.parse(xml), SPEC_URL);
Substitutions subst = new Substitutions();
@@ -303,7 +305,7 @@ public class ModulePrefsTest {
assertNotNull("Empty ModulePrefs Parses", prefs);
assertEquals("Title is empty string", "", prefs.getTitle());
}
-
+
@Test
public void coreInjectedAutomatically() throws Exception {
String xml = "<ModulePrefs title=''><Require
feature='foo'/></ModulePrefs>";
@@ -312,7 +314,7 @@ public class ModulePrefsTest {
assertTrue(prefs.getFeatures().containsKey("foo"));
assertTrue(prefs.getFeatures().containsKey("core"));
}
-
+
@Test
public void coreNotInjectedOnSplitCoreInclusion() throws Exception {
String xml = "<ModulePrefs title=''><Require
feature='core.config'/></ModulePrefs>";
@@ -320,11 +322,12 @@ public class ModulePrefsTest {
assertEquals(1, prefs.getFeatures().size());
assertTrue(prefs.getFeatures().containsKey("core.config"));
}
-
+
@Test
public void securityTokenInjectedOnOAuthTag() throws Exception {
+ // Make sure it is injected when it should be
String xml =
- "<ModulePrefs title=''>" +
+ "<ModulePrefs title=''>" +
" <OAuth>" +
" <Service name='serviceOne'>" +
" <Request url='http://www.example.com/request'" +
@@ -336,9 +339,32 @@ public class ModulePrefsTest {
" </OAuth>" +
"</ModulePrefs>";
ModulePrefs prefs = new ModulePrefs(XmlUtil.parse(xml), SPEC_URL);
- assertEquals(2, prefs.getFeatures().size());
- assertTrue(prefs.getFeatures().containsKey("core"));
- assertTrue(prefs.getFeatures().containsKey("security-token"));
+ Map<String, Feature> features = prefs.getFeatures();
+ assertEquals(2, features.size());
+ assertTrue(features.containsKey("core"));
+ assertTrue(features.containsKey("security-token"));
+
+ Map<String, Feature> viewFeatures = prefs.getViewFeatures("default");
+ assertEquals(2, viewFeatures.size());
+ assertTrue(viewFeatures.containsKey("core"));
+ assertTrue(viewFeatures.containsKey("security-token"));
+ }
+
+ @Test
+ public void securityTokenNotInjectedByDefault() throws Exception {
+ // Make sure the token isn't injected when it shouldn't be, i.e., not
required/optional and no
+ // OAuth
+ String xml =
+ "<ModulePrefs title=''>" +
+ "</ModulePrefs>";
+ ModulePrefs prefs = new ModulePrefs(XmlUtil.parse(xml), SPEC_URL);
+ Map<String, Feature> features = prefs.getFeatures();
+ assertEquals(1, features.size());
+ assertTrue(features.containsKey("core"));
+
+ Map<String, Feature> viewFeatures = prefs.getViewFeatures("default");
+ assertEquals(1, viewFeatures.size());
+ assertTrue(viewFeatures.containsKey("core"));
}
@Test