summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorAdam Kocoloski <kocolosk@apache.org>2009-09-30 22:00:41 +0000
committerAdam Kocoloski <kocolosk@apache.org>2009-09-30 22:00:41 +0000
commit3c32073065286f57835323a7f97a3958a8021dec (patch)
tree174ac10dfb809863865edd4f80db12e589a46b7b /share
parent32f2b2260217bfc1f685274445eb7e1aea6a0199 (diff)
more OAuth fixes, in particular for requests with query-string parameters
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@820469 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share')
-rw-r--r--share/www/script/test/oauth.js40
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(),