diff options
Diffstat (limited to 'share')
-rw-r--r-- | share/www/script/test/oauth.js | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/share/www/script/test/oauth.js b/share/www/script/test/oauth.js index ebe817b2..6d8498a6 100644 --- a/share/www/script/test/oauth.js +++ b/share/www/script/test/oauth.js @@ -52,7 +52,7 @@ couchTests.oauth = function(debug) { }); } } else { - return CouchDB.request("GET", path, { + return CouchDB.request(method, path, { headers: {Authorization: OAuth.getAuthorizationHeader('', parameters)} }); } @@ -63,6 +63,11 @@ couchTests.oauth = function(debug) { var admintokenSecret = generateSecret(64); var testadminPassword = "ohsosecret"; + var adminBasicAuthHeaderValue = function() { + var retval = 'Basic ' + binb2b64(str2binb("testadmin:" + testadminPassword)); + return retval; + } + var host = CouchDB.host; var dbPair = { source: { @@ -76,14 +81,12 @@ couchTests.oauth = function(debug) { } } }, - target: "http://" + host + "/test_suite_db_b" + target: { + url: "http://" + host + "/test_suite_db_b", + headers: {"Authorization": adminBasicAuthHeaderValue()} + } }; - var adminBasicAuthHeaderValue = function() { - var retval = 'Basic ' + binb2b64(str2binb("testadmin:" + testadminPassword)); - return retval; - } - // this function will be called on the modified server var testFun = function () { try { @@ -92,6 +95,16 @@ couchTests.oauth = function(debug) { body: JSON.stringify(testadminPassword) }); + CouchDB.request("GET", "/_sleep?time=50"); + + CouchDB.request("PUT", "http://" + host + "/_config/couch_httpd_auth/require_valid_user", { + headers: { + "X-Couch-Persist": "false", + "Authorization": adminBasicAuthHeaderValue() + }, + body: JSON.stringify("true") + }); + var usersDb = new CouchDB("test_suite_users", { "X-Couch-Full-Commit":"false", "Authorization": adminBasicAuthHeaderValue() @@ -157,7 +170,9 @@ couchTests.oauth = function(debug) { T(xhr.status == expectedCode); // Replication - var result = CouchDB.replicate(dbPair.source, dbPair.target); + var result = CouchDB.replicate(dbPair.source, dbPair.target, { + headers: {"Authorization": adminBasicAuthHeaderValue()} + }); T(result.ok); // Test auth via admin user defined in .ini @@ -179,6 +194,15 @@ couchTests.oauth = function(debug) { } } } finally { + var xhr = CouchDB.request("PUT", "http://" + host + "/_config/couch_httpd_auth/require_valid_user", { + headers: { + "Authorization": adminBasicAuthHeaderValue(), + "X-Couch-Persist": "false" + }, + body: JSON.stringify("false") + }); + T(xhr.status == 200); + var xhr = CouchDB.request("DELETE", "http://" + host + "/_config/admins/testadmin", { headers: { "Authorization": adminBasicAuthHeaderValue(), |