Author: beaton
Date: Tue Aug 26 11:08:07 2008
New Revision: 689156
URL: http://svn.apache.org/viewvc?rev=689156&view=rev
Log:
Fix up handling of VIEWER_SIGNED: false. Boolean false was being treated as
true.
Modified:
incubator/shindig/trunk/features/core.io/io.js
incubator/shindig/trunk/features/core.io/iotest.js
Modified: incubator/shindig/trunk/features/core.io/io.js
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/features/core.io/io.js?rev=689156&r1=689155&r2=689156&view=diff
==============================================================================
--- incubator/shindig/trunk/features/core.io/io.js (original)
+++ incubator/shindig/trunk/features/core.io/io.js Tue Aug 26 11:08:07 2008
@@ -296,8 +296,18 @@
refreshInterval = 3600;
}
}
- var signOwner = params.OWNER_SIGNED;
- var signViewer = params.VIEWER_SIGNED;
+
+ // Include owner information?
+ var signOwner = true;
+ if ("OWNER_SIGNED" in params) {
+ signOwner = params.OWNER_SIGNED;
+ }
+
+ // Include viewer information?
+ var signViewer = true;
+ if ("VIEWER_SIGNED" in params) {
+ signViewer = params.VIEWER_SIGNED;
+ }
var headers = params.HEADERS || {};
if (httpMethod === "POST" && !headers["Content-Type"]) {
@@ -316,8 +326,8 @@
contentType : params.CONTENT_TYPE || "TEXT",
numEntries : params.NUM_ENTRIES || "3",
getSummaries : !!params.GET_SUMMARIES,
- signOwner : signOwner || "true",
- signViewer : signViewer || "true",
+ signOwner : signOwner,
+ signViewer : signViewer,
gadget : urlParams.url,
container : urlParams.container || urlParams.synd || "default",
// should we bypass gadget spec cache (e.g. to read OAuth provider
URLs)
Modified: incubator/shindig/trunk/features/core.io/iotest.js
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/features/core.io/iotest.js?rev=689156&r1=689155&r2=689156&view=diff
==============================================================================
--- incubator/shindig/trunk/features/core.io/iotest.js (original)
+++ incubator/shindig/trunk/features/core.io/iotest.js Tue Aug 26 11:08:07 2008
@@ -393,6 +393,94 @@
this.assertEquals('some data', resp.text);
};
+IoTest.prototype.testSignedGet_noViewerBoolean = function() {
+ var req = new fakeXhr.Expectation("POST", "http://www.example.com/json");
+ this.setStandardArgs(req, true);
+ req.setBodyArg("url", "http://target.example.com/somepage");
+ req.setBodyArg("signOwner", "true");
+ req.setBodyArg("signViewer", "false");
+ req.setBodyArg("authz", "signed");
+ req.setBodyArg("st", "authtoken");
+ req.setBodyArg("refresh", null);
+ req.setHeader("Content-Type", "application/x-www-form-urlencoded");
+
+ var resp = this.makeFakeResponse(
+ "{ 'http://target.example.com/somepage' : { 'body' : 'some data' }}");
+
+ this.fakeXhrs.expect(req, resp);
+
+ var resp = null;
+ var params = {};
+ params["AUTHORIZATION"] = "SIGNED";
+ params["VIEWER_SIGNED"] = false;
+ gadgets.io.makeRequest(
+ "http://target.example.com/somepage",
+ function(data) {
+ resp = data;
+ },
+ params);
+ this.assertEquals('some data', resp.text);
+};
+
+IoTest.prototype.testSignedGet_noViewerString = function() {
+ var req = new fakeXhr.Expectation("POST", "http://www.example.com/json");
+ this.setStandardArgs(req, true);
+ req.setBodyArg("url", "http://target.example.com/somepage");
+ req.setBodyArg("signOwner", "true");
+ req.setBodyArg("signViewer", "false");
+ req.setBodyArg("authz", "signed");
+ req.setBodyArg("st", "authtoken");
+ req.setBodyArg("refresh", null);
+ req.setHeader("Content-Type", "application/x-www-form-urlencoded");
+
+ var resp = this.makeFakeResponse(
+ "{ 'http://target.example.com/somepage' : { 'body' : 'some data' }}");
+
+ this.fakeXhrs.expect(req, resp);
+
+ var resp = null;
+ var params = {};
+ params["AUTHORIZATION"] = "SIGNED";
+ params["VIEWER_SIGNED"] = "false";
+ gadgets.io.makeRequest(
+ "http://target.example.com/somepage",
+ function(data) {
+ resp = data;
+ },
+ params);
+ this.assertEquals('some data', resp.text);
+};
+
+IoTest.prototype.testSignedGet_withNoOwnerAndViewerString = function() {
+ var req = new fakeXhr.Expectation("POST", "http://www.example.com/json");
+ this.setStandardArgs(req, true);
+ req.setBodyArg("url", "http://target.example.com/somepage");
+ req.setBodyArg("signOwner", "false");
+ req.setBodyArg("signViewer", "true");
+ req.setBodyArg("authz", "signed");
+ req.setBodyArg("st", "authtoken");
+ req.setBodyArg("refresh", null);
+ req.setHeader("Content-Type", "application/x-www-form-urlencoded");
+
+ var resp = this.makeFakeResponse(
+ "{ 'http://target.example.com/somepage' : { 'body' : 'some data' }}");
+
+ this.fakeXhrs.expect(req, resp);
+
+ var resp = null;
+ var params = {};
+ params["AUTHORIZATION"] = "SIGNED";
+ params["VIEWER_SIGNED"] = "true";
+ params["OWNER_SIGNED"] = false;
+ gadgets.io.makeRequest(
+ "http://target.example.com/somepage",
+ function(data) {
+ resp = data;
+ },
+ params);
+ this.assertEquals('some data', resp.text);
+};
+
IoTest.prototype.testOAuth = function() {
gadgets.io.clearOAuthState();
var req = new fakeXhr.Expectation("POST", "http://www.example.com/json");