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";);


Reply via email to