summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lehnardt <jan@apache.org>2015-10-07 15:04:16 +0200
committerJan Lehnardt <jan@apache.org>2015-12-12 15:23:44 +0100
commitaa1731d944d40cc10881798758ca404abd67ccc5 (patch)
tree735b90796f787ae7bee4a28ef368afbfc097b341
parentb2bb3b8038fcfbafe1b47d0168191ff1a526649b (diff)
downloadcouchdb-aa1731d944d40cc10881798758ca404abd67ccc5.tar.gz
wip-continued: port tests to random databases
-rw-r--r--test/javascript/tests/attachment_ranges.js28
-rw-r--r--test/javascript/tests/attachment_views.js4
-rw-r--r--test/javascript/tests/attachments.js64
-rw-r--r--test/javascript/tests/attachments_multipart.js28
-rw-r--r--test/javascript/tests/basics.js42
-rw-r--r--test/javascript/tests/batch_save.js4
-rw-r--r--test/javascript/tests/bulk_docs.js8
-rw-r--r--test/javascript/tests/changes.js87
-rw-r--r--test/javascript/tests/coffee.js4
-rw-r--r--test/javascript/tests/compact.js6
-rw-r--r--test/javascript/tests/config.js4
-rw-r--r--test/javascript/tests/conflicts.js12
-rw-r--r--test/javascript/tests/cookie_auth.js15
-rw-r--r--test/javascript/tests/copy_doc.js16
-rw-r--r--test/javascript/tests/delayed_commits.js4
-rw-r--r--test/javascript/tests/design_docs.js42
16 files changed, 188 insertions, 180 deletions
diff --git a/test/javascript/tests/attachment_ranges.js b/test/javascript/tests/attachment_ranges.js
index 7d9afb567..0b8184bda 100644
--- a/test/javascript/tests/attachment_ranges.js
+++ b/test/javascript/tests/attachment_ranges.js
@@ -15,10 +15,10 @@ function cacheBust() {
};
couchTests.attachment_ranges = function(debug) {
- var db = new CouchDB("test_suite_db", {
+ var db_name = get_random_db_name();
+ var db = new CouchDB(db_name, {
"X-Couch-Full-Commit": "false"
});
- db.deleteDb();
db.createDb();
if (debug) debugger;
@@ -42,7 +42,7 @@ couchTests.attachment_ranges = function(debug) {
T(save_response.ok);
// Fetching the whole entity is a 206.
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=0-28"
}
@@ -53,7 +53,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals("29", xhr.getResponseHeader("Content-Length"));
// Fetch the whole entity without an end offset is a 200.
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=0-"
}
@@ -64,7 +64,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals("29", xhr.getResponseHeader("Content-Length"));
// Even if you ask multiple times.
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=0-,0-,0-"
}
@@ -72,7 +72,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals(200, xhr.status, "multiple 0-'s");
// Badly formed range header is a 200.
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes:0-"
}
@@ -80,7 +80,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals(200, xhr.status, "fetch with bad range header");
// Fetch the end of an entity without an end offset is a 206.
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=2-"
}
@@ -91,7 +91,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals("27", xhr.getResponseHeader("Content-Length"));
// Fetch past the end of the entity is a 206
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=0-29"
}
@@ -101,7 +101,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals("29", xhr.getResponseHeader("Content-Length"));
// Fetch first part of entity is a 206
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=0-3"
}
@@ -112,7 +112,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals("bytes 0-3/29", xhr.getResponseHeader("Content-Range"));
// Fetch middle of entity is also a 206
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=10-15"
}
@@ -123,7 +123,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals("bytes 10-15/29", xhr.getResponseHeader("Content-Range"));
// Fetch end of entity is also a 206
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=-3"
}
@@ -134,7 +134,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals("bytes 26-28/29", xhr.getResponseHeader("Content-Range"));
// backward range is 416
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=5-3"
}
@@ -142,7 +142,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals(416, xhr.status, "fetch 5-3");
// range completely outside of entity is 416
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=300-310"
}
@@ -150,7 +150,7 @@ couchTests.attachment_ranges = function(debug) {
TEquals(416, xhr.status, "fetch 300-310");
// We ignore a Range header with too many ranges
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt" + cacheBust(), {
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt" + cacheBust(), {
headers: {
"Range": "bytes=0-1,0-1,0-1,0-1,0-1,0-1,0-1,0-1,0-1,0-1"
}
diff --git a/test/javascript/tests/attachment_views.js b/test/javascript/tests/attachment_views.js
index b55aabea1..ebe25355a 100644
--- a/test/javascript/tests/attachment_views.js
+++ b/test/javascript/tests/attachment_views.js
@@ -12,8 +12,8 @@
couchTests.attachment_views= function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name()
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
if (debug) debugger;
diff --git a/test/javascript/tests/attachments.js b/test/javascript/tests/attachments.js
index 41a826ae8..9a83842b1 100644
--- a/test/javascript/tests/attachments.js
+++ b/test/javascript/tests/attachments.js
@@ -11,8 +11,8 @@
// the License.
couchTests.attachments= function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name();
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
if (debug) debugger;
@@ -33,7 +33,7 @@ couchTests.attachments= function(debug) {
var save_response = db.save(binAttDoc);
T(save_response.ok);
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt");
T(xhr.responseText == "This is a base64 encoded text");
T(xhr.getResponseHeader("Content-Type") == "application/octet-stream");
TEquals("\"aEI7pOYCRBLTRQvvqYrrJQ==\"", xhr.getResponseHeader("Etag"));
@@ -51,13 +51,13 @@ couchTests.attachments= function(debug) {
T(db.save(binAttDoc2).ok);
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc2/foo.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc2/foo.txt");
T(xhr.responseText.length == 0);
T(xhr.getResponseHeader("Content-Type") == "text/plain");
// test RESTful doc API
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc2/foo2.txt?rev=" + binAttDoc2._rev, {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc2/foo2.txt?rev=" + binAttDoc2._rev, {
body:"This is no base64 encoded text",
headers:{"Content-Type": "text/plain;charset=utf-8"}
});
@@ -75,23 +75,23 @@ couchTests.attachments= function(debug) {
TEqualsIgnoreCase("text/plain;charset=utf-8", binAttDoc2._attachments["foo2.txt"].content_type);
T(binAttDoc2._attachments["foo2.txt"].length == 30);
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc2/foo2.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc2/foo2.txt");
T(xhr.responseText == "This is no base64 encoded text");
TEqualsIgnoreCase("text/plain;charset=utf-8", xhr.getResponseHeader("Content-Type"));
// test without rev, should fail
- var xhr = CouchDB.request("DELETE", "/test_suite_db/bin_doc2/foo2.txt");
+ var xhr = CouchDB.request("DELETE", "/" + db_name + "/bin_doc2/foo2.txt");
T(xhr.status == 409);
// test with rev, should not fail
- var xhr = CouchDB.request("DELETE", "/test_suite_db/bin_doc2/foo2.txt?rev=" + rev);
+ var xhr = CouchDB.request("DELETE", "/" + db_name + "/bin_doc2/foo2.txt?rev=" + rev);
T(xhr.status == 200);
TEquals(null, xhr.getResponseHeader("Location"),
"should not return Location header on DELETE request");
// test binary data
var bin_data = "JHAPDO*AU£PN ){(3u[d 93DQ9¡€])} ææøo'∂ƒæ≤çæππ•¥∫¶®#†π¶®¥π€ª®˙π8np";
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc3/attachment.txt", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc3/attachment.txt", {
headers:{"Content-Type":"text/plain;charset=utf-8"},
body:bin_data
});
@@ -99,26 +99,26 @@ couchTests.attachments= function(debug) {
var rev = JSON.parse(xhr.responseText).rev;
TEquals('"' + rev + '"', xhr.getResponseHeader("Etag"));
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc3/attachment.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc3/attachment.txt");
T(xhr.responseText == bin_data);
TEqualsIgnoreCase("text/plain;charset=utf-8", xhr.getResponseHeader("Content-Type"));
// without rev
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc3/attachment.txt", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc3/attachment.txt", {
headers:{"Content-Type":"text/plain;charset=utf-8"},
body:bin_data
});
T(xhr.status == 409);
// with nonexistent rev
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc3/attachment.txt" + "?rev=1-adae8575ecea588919bd08eb020c708e", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc3/attachment.txt" + "?rev=1-adae8575ecea588919bd08eb020c708e", {
headers:{"Content-Type":"text/plain;charset=utf-8"},
body:bin_data
});
T(xhr.status == 409);
// with current rev
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc3/attachment.txt?rev=" + rev, {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc3/attachment.txt?rev=" + rev, {
headers:{"Content-Type":"text/plain;charset=utf-8"},
body:bin_data
});
@@ -126,46 +126,46 @@ couchTests.attachments= function(debug) {
var rev = JSON.parse(xhr.responseText).rev;
TEquals('"' + rev + '"', xhr.getResponseHeader("Etag"));
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc3/attachment.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc3/attachment.txt");
T(xhr.responseText == bin_data);
TEqualsIgnoreCase("text/plain;charset=utf-8", xhr.getResponseHeader("Content-Type"));
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc3/attachment.txt?rev=" + rev);
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc3/attachment.txt?rev=" + rev);
T(xhr.responseText == bin_data);
TEqualsIgnoreCase("text/plain;charset=utf-8", xhr.getResponseHeader("Content-Type"));
- var xhr = CouchDB.request("DELETE", "/test_suite_db/bin_doc3/attachment.txt?rev=" + rev);
+ var xhr = CouchDB.request("DELETE", "/" + db_name + "/bin_doc3/attachment.txt?rev=" + rev);
T(xhr.status == 200);
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc3/attachment.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc3/attachment.txt");
T(xhr.status == 404);
// deleted attachment is still accessible with revision
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc3/attachment.txt?rev=" + rev);
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc3/attachment.txt?rev=" + rev);
T(xhr.status == 200);
T(xhr.responseText == bin_data);
TEqualsIgnoreCase("text/plain;charset=utf-8", xhr.getResponseHeader("Content-Type"));
// empty attachments
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc4/attachment.txt", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc4/attachment.txt", {
headers:{"Content-Type":"text/plain;charset=utf-8"},
body:""
});
T(xhr.status == 201);
var rev = JSON.parse(xhr.responseText).rev;
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc4/attachment.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc4/attachment.txt");
T(xhr.status == 200);
T(xhr.responseText.length == 0);
// overwrite previsously empty attachment
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc4/attachment.txt?rev=" + rev, {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc4/attachment.txt?rev=" + rev, {
headers:{"Content-Type":"text/plain;charset=utf-8"},
body:"This is a string"
});
T(xhr.status == 201);
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc4/attachment.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc4/attachment.txt");
T(xhr.status == 200);
T(xhr.responseText == "This is a string");
@@ -219,14 +219,14 @@ couchTests.attachments= function(debug) {
console.log(lorem);
console.log('end lorem');
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc5/lorem.txt", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc5/lorem.txt", {
headers:{"Content-Type":"text/plain;charset=utf-8"},
body:lorem
});
T(xhr.status == 201);
var rev = JSON.parse(xhr.responseText).rev;
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc5/lorem.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc5/lorem.txt");
T(xhr.responseText == lorem);
TEqualsIgnoreCase("text/plain;charset=utf-8", xhr.getResponseHeader("Content-Type"));
@@ -240,28 +240,28 @@ couchTests.attachments= function(debug) {
TEquals(lorem_b64, doc._attachments["lorem.txt"].data, 'binary attachment data should match');
// test etags for attachments.
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc5/lorem.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc5/lorem.txt");
T(xhr.status == 200);
var etag = xhr.getResponseHeader("etag");
- xhr = CouchDB.request("GET", "/test_suite_db/bin_doc5/lorem.txt", {
+ xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc5/lorem.txt", {
headers: {"if-none-match": etag}
});
T(xhr.status == 304);
// test COUCHDB-497 - empty attachments
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc5/empty.txt?rev="+rev, {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc5/empty.txt?rev="+rev, {
headers:{"Content-Type":"text/plain;charset=utf-8", "Content-Length": "0"},
body:""
});
TEquals(201, xhr.status, "should send 201 Accepted");
var rev = JSON.parse(xhr.responseText).rev;
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc5/empty.txt?rev="+rev, {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc5/empty.txt?rev="+rev, {
headers:{"Content-Type":"text/plain;charset=utf-8"}
});
TEquals(201, xhr.status, "should send 201 Accepted");
// implicit doc creation allows creating docs with a reserved id. COUCHDB-565
- var xhr = CouchDB.request("PUT", "/test_suite_db/_nonexistant/attachment.txt", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/_nonexistant/attachment.txt", {
headers: {"Content-Type":"text/plain;charset=utf-8"},
body: "THIS IS AN ATTACHMENT. BOOYA!"
});
@@ -295,14 +295,14 @@ couchTests.attachments= function(debug) {
// test MD5 header
var bin_data = "foo bar"
- var xhr = CouchDB.request("PUT", "/test_suite_db/bin_doc7/attachment.txt", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/bin_doc7/attachment.txt", {
headers:{"Content-Type":"application/octet-stream",
"Content-MD5":"MntvB0NYESObxH4VRDUycw=="},
body:bin_data
});
TEquals(201, xhr.status);
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc7/attachment.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc7/attachment.txt");
TEquals('MntvB0NYESObxH4VRDUycw==', xhr.getResponseHeader("Content-MD5"));
// test attachment via multipart/form-data
@@ -319,7 +319,7 @@ couchTests.attachments= function(debug) {
"Content-Type: text/plain\r\n\r\n" +
"contents of file.txt\r\n\r\n" +
"------TF--"
- xhr = CouchDB.request("POST", "/test_suite_db/bin_doc8", {
+ xhr = CouchDB.request("POST", "/" + db_name + "/bin_doc8", {
headers: {
"Content-Type": "multipart/form-data; boundary=----TF",
"Content-Length": body.length
diff --git a/test/javascript/tests/attachments_multipart.js b/test/javascript/tests/attachments_multipart.js
index 6f924a7fb..df92dc503 100644
--- a/test/javascript/tests/attachments_multipart.js
+++ b/test/javascript/tests/attachments_multipart.js
@@ -11,14 +11,14 @@
// the License.
couchTests.attachments_multipart= function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name()
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
if (debug) debugger;
// mime multipart
- var xhr = CouchDB.request("PUT", "/test_suite_db/multipart", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/multipart", {
headers: {"Content-Type": "multipart/related;boundary=\"abc123\""},
body:
"--abc123\r\n" +
@@ -64,15 +64,15 @@ couchTests.attachments_multipart= function(debug) {
TEquals(201, xhr.status, "should send 201 Accepted");
- xhr = CouchDB.request("GET", "/test_suite_db/multipart/foo.txt");
+ xhr = CouchDB.request("GET", "/" + db_name + "/multipart/foo.txt");
T(xhr.responseText == "this is 21 chars long");
- xhr = CouchDB.request("GET", "/test_suite_db/multipart/bar.txt");
+ xhr = CouchDB.request("GET", "/" + db_name + "/multipart/bar.txt");
T(xhr.responseText == "this is 20 chars lon");
- xhr = CouchDB.request("GET", "/test_suite_db/multipart/baz.txt");
+ xhr = CouchDB.request("GET", "/" + db_name + "/multipart/baz.txt");
T(xhr.responseText == "this is 19 chars lo");
@@ -96,7 +96,7 @@ couchTests.attachments_multipart= function(debug) {
//lets delete attachment baz:
delete doc._attachments["baz.txt"];
- var xhr = CouchDB.request("PUT", "/test_suite_db/multipart", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/multipart", {
headers: {"Content-Type": "multipart/related;boundary=\"abc123\""},
body:
"--abc123\r\n" +
@@ -110,11 +110,11 @@ couchTests.attachments_multipart= function(debug) {
});
TEquals(201, xhr.status);
- xhr = CouchDB.request("GET", "/test_suite_db/multipart/bar.txt");
+ xhr = CouchDB.request("GET", "/" + db_name + "/multipart/bar.txt");
T(xhr.responseText == "this is 18 chars l");
- xhr = CouchDB.request("GET", "/test_suite_db/multipart/baz.txt");
+ xhr = CouchDB.request("GET", "/" + db_name + "/multipart/baz.txt");
T(xhr.status == 404);
// now test receiving multipart docs
@@ -169,7 +169,7 @@ couchTests.attachments_multipart= function(debug) {
}
- xhr = CouchDB.request("GET", "/test_suite_db/multipart?attachments=true",
+ xhr = CouchDB.request("GET", "/" + db_name + "/multipart?attachments=true",
{headers:{"accept": "multipart/related,*/*;"}});
T(xhr.status == 200);
@@ -209,7 +209,7 @@ couchTests.attachments_multipart= function(debug) {
// now get attachments incrementally (only the attachments changes since
// a certain rev).
- xhr = CouchDB.request("GET", "/test_suite_db/multipart?atts_since=[\"" + firstrev + "\"]",
+ xhr = CouchDB.request("GET", "/" + db_name + "/multipart?atts_since=[\"" + firstrev + "\"]",
{headers:{"accept": "multipart/related, */*"}});
T(xhr.status == 200);
@@ -228,7 +228,7 @@ couchTests.attachments_multipart= function(debug) {
// try the atts_since parameter together with the open_revs parameter
xhr = CouchDB.request(
"GET",
- '/test_suite_db/multipart?open_revs=["' +
+ '/" + db_name + "/multipart?open_revs=["' +
doc._rev + '"]&atts_since=["' + firstrev + '"]',
{headers: {"accept": "multipart/mixed"}}
);
@@ -254,7 +254,7 @@ couchTests.attachments_multipart= function(debug) {
// try it with a rev that doesn't exist (should get all attachments)
- xhr = CouchDB.request("GET", "/test_suite_db/multipart?atts_since=[\"1-2897589\"]",
+ xhr = CouchDB.request("GET", "/" + db_name + "/multipart?atts_since=[\"1-2897589\"]",
{headers:{"accept": "multipart/related,*/*;"}});
T(xhr.status == 200);
@@ -272,7 +272,7 @@ couchTests.attachments_multipart= function(debug) {
TEquals("this is 18 chars l", sections[2].body, "should be 18 chars long 3");
// try it with a rev that doesn't exist, and one that does
- xhr = CouchDB.request("GET", "/test_suite_db/multipart?atts_since=[\"1-2897589\",\"" + firstrev + "\"]",
+ xhr = CouchDB.request("GET", "/" + db_name + "/multipart?atts_since=[\"1-2897589\",\"" + firstrev + "\"]",
{headers:{"accept": "multipart/related,*/*;"}});
T(xhr.status == 200);
diff --git a/test/javascript/tests/basics.js b/test/javascript/tests/basics.js
index 993456c72..85a0c07d9 100644
--- a/test/javascript/tests/basics.js
+++ b/test/javascript/tests/basics.js
@@ -15,22 +15,22 @@ couchTests.basics = function(debug) {
var result = JSON.parse(CouchDB.request("GET", "/").responseText);
T(result.couchdb == "Welcome");
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name()
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
- // bug COUCHDB-100: DELETE on non-existent DB returns 500 instead of 404
- db.deleteDb();
+ //TODO bug COUCHDB-100: DELETE on non-existent DB returns 500 instead of 404
+ //TODO db.deleteDb();
db.createDb();
// PUT on existing DB should return 412 instead of 500
- xhr = CouchDB.request("PUT", "/test_suite_db/");
+ xhr = CouchDB.request("PUT", "/" + db_name + "/");
T(xhr.status == 412);
if (debug) debugger;
// creating a new DB should return Location header
// and it should work for dbs with slashes (COUCHDB-411)
- var dbnames = ["test_suite_db", "test_suite_db%2Fwith_slashes"];
+ var dbnames = [db_name, db_name + "%2Fwith_slashes"];
dbnames.forEach(function(dbname) {
xhr = CouchDB.request("DELETE", "/" + dbname);
xhr = CouchDB.request("PUT", "/" + dbname);
@@ -43,8 +43,8 @@ couchTests.basics = function(debug) {
});
// Get the database info, check the db_name
- T(db.info().db_name == "test_suite_db");
- T(CouchDB.allDbs().indexOf("test_suite_db") != -1);
+ T(db.info().db_name == "" + db_name + "");
+ T(CouchDB.allDbs().indexOf("" + db_name + "") != -1);
// Get the database info, check the doc_count
T(db.info().doc_count == 0);
@@ -172,7 +172,7 @@ couchTests.basics = function(debug) {
T(db.open(existingDoc._id, {rev: existingDoc._rev}) != null);
// test that the POST response has a Location header
- var xhr = CouchDB.request("POST", "/test_suite_db", {
+ var xhr = CouchDB.request("POST", "/" + db_name + "", {
body: JSON.stringify({"foo":"bar"}),
headers: {"Content-Type": "application/json"}
});
@@ -182,10 +182,10 @@ couchTests.basics = function(debug) {
T(loc, "should have a Location header");
var locs = loc.split('/');
T(locs[locs.length-1] == resp.id);
- T(locs[locs.length-2] == "test_suite_db");
+ T(locs[locs.length-2] == "" + db_name + "");
// test that that POST's with an _id aren't overriden with a UUID.
- var xhr = CouchDB.request("POST", "/test_suite_db", {
+ var xhr = CouchDB.request("POST", "/" + db_name + "", {
headers: {"Content-Type": "application/json"},
body: JSON.stringify({"_id": "oppossum", "yar": "matey"})
});
@@ -196,10 +196,10 @@ couchTests.basics = function(debug) {
T(doc.yar == "matey");
// document put's should return a Location header
- var xhr = CouchDB.request("PUT", "/test_suite_db/newdoc", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/newdoc", {
body: JSON.stringify({"a":1})
});
- TEquals("/test_suite_db/newdoc",
+ TEquals("/" + db_name + "/newdoc",
xhr.getResponseHeader("Location").substr(-21),
"should return Location header to newly created document");
TEquals(CouchDB.protocol,
@@ -207,7 +207,7 @@ couchTests.basics = function(debug) {
"should return absolute Location header to newly created document");
// deleting a non-existent doc should be 404
- xhr = CouchDB.request("DELETE", "/test_suite_db/doc-does-not-exist");
+ xhr = CouchDB.request("DELETE", "/" + db_name + "/doc-does-not-exist");
T(xhr.status == 404);
// Check for invalid document members
@@ -219,12 +219,12 @@ couchTests.basics = function(debug) {
];
var test_doc = function(info) {
var data = JSON.stringify(info[1]);
- xhr = CouchDB.request("PUT", "/test_suite_db/" + info[0], {body: data});
+ xhr = CouchDB.request("PUT", "/" + db_name + "/" + info[0], {body: data});
T(xhr.status == 500);
result = JSON.parse(xhr.responseText);
T(result.error == "doc_validation");
- xhr = CouchDB.request("POST", "/test_suite_db/", {
+ xhr = CouchDB.request("POST", "/" + db_name + "/", {
headers: {"Content-Type": "application/json"},
body: data
});
@@ -236,34 +236,34 @@ couchTests.basics = function(debug) {
// Check some common error responses.
// PUT body not an object
- xhr = CouchDB.request("PUT", "/test_suite_db/bar", {body: "[]"});
+ xhr = CouchDB.request("PUT", "/" + db_name + "/bar", {body: "[]"});
T(xhr.status == 400);
result = JSON.parse(xhr.responseText);
T(result.error == "bad_request");
T(result.reason == "Document must be a JSON object");
// Body of a _bulk_docs is not an object
- xhr = CouchDB.request("POST", "/test_suite_db/_bulk_docs", {body: "[]"});
+ xhr = CouchDB.request("POST", "/" + db_name + "/_bulk_docs", {body: "[]"});
T(xhr.status == 400);
result = JSON.parse(xhr.responseText);
T(result.error == "bad_request");
T(result.reason == "Request body must be a JSON object");
// Body of an _all_docs multi-get is not a {"key": [...]} structure.
- xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {body: "[]"});
+ xhr = CouchDB.request("POST", "/" + db_name + "/_all_docs", {body: "[]"});
T(xhr.status == 400);
result = JSON.parse(xhr.responseText);
T(result.error == "bad_request");
T(result.reason == "Request body must be a JSON object");
var data = "{\"keys\": 1}";
- xhr = CouchDB.request("POST", "/test_suite_db/_all_docs", {body:data});
+ xhr = CouchDB.request("POST", "/" + db_name + "/_all_docs", {body:data});
T(xhr.status == 400);
result = JSON.parse(xhr.responseText);
T(result.error == "bad_request");
T(result.reason == "`keys` member must be a array.");
// oops, the doc id got lost in code nirwana
- xhr = CouchDB.request("DELETE", "/test_suite_db/?rev=foobarbaz");
+ xhr = CouchDB.request("DELETE", "/" + db_name + "/?rev=foobarbaz");
TEquals(400, xhr.status, "should return a bad request");
result = JSON.parse(xhr.responseText);
TEquals("bad_request", result.error);
diff --git a/test/javascript/tests/batch_save.js b/test/javascript/tests/batch_save.js
index a1b00192b..0ec9c9297 100644
--- a/test/javascript/tests/batch_save.js
+++ b/test/javascript/tests/batch_save.js
@@ -11,8 +11,8 @@
// the License.
couchTests.batch_save = function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name()
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
if (debug) debugger;
diff --git a/test/javascript/tests/bulk_docs.js b/test/javascript/tests/bulk_docs.js
index 27a97c8a4..6d3081844 100644
--- a/test/javascript/tests/bulk_docs.js
+++ b/test/javascript/tests/bulk_docs.js
@@ -11,8 +11,8 @@
// the License.
couchTests.bulk_docs = function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name()
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
if (debug) debugger;
@@ -81,7 +81,7 @@ couchTests.bulk_docs = function(debug) {
T(doc.shooby == "dooby" || docConflict.shooby == "dooby");
// verify creating a document with no id returns a new id
- var req = CouchDB.request("POST", "/test_suite_db/_bulk_docs", {
+ var req = CouchDB.request("POST", "/" + db_name + "/_bulk_docs", {
body: JSON.stringify({"docs": [{"foo":"bar"}]})
});
results = JSON.parse(req.responseText);
@@ -100,7 +100,7 @@ couchTests.bulk_docs = function(debug) {
// verify that sending a request with no docs causes error thrown
- var req = CouchDB.request("POST", "/test_suite_db/_bulk_docs", {
+ var req = CouchDB.request("POST", "/" + db_name + "/_bulk_docs", {
body: JSON.stringify({"doc": [{"foo":"bar"}]})
});
diff --git a/test/javascript/tests/changes.js b/test/javascript/tests/changes.js
index 787775843..6b85bf7bd 100644
--- a/test/javascript/tests/changes.js
+++ b/test/javascript/tests/changes.js
@@ -31,23 +31,24 @@ couchTests.changes = function(debug) {
testChanges("live");
testChanges("continuous");
function testChanges(feed) {
- db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"true"});
- db.deleteDb();
+ var db_name = get_random_db_name();
+ db = new CouchDB(db_name, {"X-Couch-Full-Commit":"true"});
db.createDb();
- var req = CouchDB.request("GET", "/test_suite_db/_changes");
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes");
var resp = JSON.parse(req.responseText);
- T(resp.results.length == 0 && resp.last_seq == 0, "empty db");
+ TEquals(0, resp.results.length, "db must be empty")
+ TEquals("0", resp.last_seq.substr(0, 1), "seq must start with 0")
var docFoo = {_id:"foo", bar:1};
T(db.save(docFoo).ok);
T(db.ensureFullCommit().ok);
T(db.open(docFoo._id)._id == docFoo._id);
- req = CouchDB.request("GET", "/test_suite_db/_changes");
+ req = CouchDB.request("GET", "/" + db_name + "/_changes");
var resp = JSON.parse(req.responseText);
- T(resp.last_seq == 1);
+ TEquals("1", resp.last_seq.substr(0, 1), "seq must start with 1");
T(resp.results.length == 1, "one doc db");
T(resp.results[0].changes[0].rev == docFoo._rev);
@@ -58,14 +59,14 @@ couchTests.changes = function(debug) {
key: "allow_jsonp",
value: "true"}],
function() {
- var xhr = CouchDB.request("GET", "/test_suite_db/_changes?callback=jsonp");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/_changes?callback=jsonp");
T(xhr.status == 200);
jsonp_flag = 0;
eval(xhr.responseText);
T(jsonp_flag == 1);
});
- req = CouchDB.request("GET", "/test_suite_db/_changes?feed=" + feed + "&timeout=10");
+ req = CouchDB.request("GET", "/" + db_name + "/_changes?feed=" + feed + "&timeout=10");
var lines = req.responseText.split("\n");
T(JSON.parse(lines[0]).changes[0].rev == docFoo._rev);
T(JSON.parse(lines[1]).last_seq == 1);
@@ -84,7 +85,7 @@ couchTests.changes = function(debug) {
// WebKit (last checked on nightly #47686) does fail on processing
// the async-request properly while javascript is executed.
- xhr.open("GET", CouchDB.proxyUrl("/test_suite_db/_changes?feed=" + feed + "&timeout=500"), true);
+ xhr.open("GET", CouchDB.proxyUrl("/" + db_name + "/_changes?feed=" + feed + "&timeout=500"), true);
xhr.send("");
var docBar = {_id:"bar", bar:1};
@@ -130,7 +131,7 @@ couchTests.changes = function(debug) {
xhr = CouchDB.newXhr();
//verify the heartbeat newlines are sent
- xhr.open("GET", CouchDB.proxyUrl("/test_suite_db/_changes?feed=" + feed + "&heartbeat=10&timeout=500"), true);
+ xhr.open("GET", CouchDB.proxyUrl("/" + db_name + "/_changes?feed=" + feed + "&heartbeat=10&timeout=500"), true);
xhr.send("");
var str;
@@ -154,7 +155,7 @@ couchTests.changes = function(debug) {
// test Server Sent Event (eventsource)
if (!!window.EventSource) {
var source = new EventSource(
- "/test_suite_db/_changes?feed=eventsource");
+ "/" + db_name + "/_changes?feed=eventsource");
var results = [];
var sourceListener = function(e) {
var data = JSON.parse(e.data);
@@ -183,7 +184,7 @@ couchTests.changes = function(debug) {
// test that we receive EventSource heartbeat events
if (!!window.EventSource) {
var source = new EventSource(
- "/test_suite_db/_changes?feed=eventsource&heartbeat=10");
+ "/" + db_name + "/_changes?feed=eventsource&heartbeat=10");
var count_heartbeats = 0;
source.addEventListener('heartbeat', function () { count_heartbeats = count_heartbeats + 1; } , false);
@@ -202,7 +203,7 @@ couchTests.changes = function(debug) {
// test longpolling
xhr = CouchDB.newXhr();
- xhr.open("GET", CouchDB.proxyUrl("/test_suite_db/_changes?feed=longpoll"), true);
+ xhr.open("GET", CouchDB.proxyUrl("/" + db_name + "/_changes?feed=longpoll"), true);
xhr.send("");
waitForSuccess(function() {
@@ -215,7 +216,7 @@ couchTests.changes = function(debug) {
xhr = CouchDB.newXhr();
- xhr.open("GET", CouchDB.proxyUrl("/test_suite_db/_changes?feed=longpoll&since=3"), true);
+ xhr.open("GET", CouchDB.proxyUrl("/" + db_name + "/_changes?feed=longpoll&since=3"), true);
xhr.send("");
var docBarz = {_id:"barz", bar:1};
@@ -248,7 +249,7 @@ couchTests.changes = function(debug) {
// test since=now
xhr = CouchDB.newXhr();
- xhr.open("GET", "/test_suite_db/_changes?feed=longpoll&since=now", true);
+ xhr.open("GET", "/" + db_name + "/_changes?feed=longpoll&since=now", true);
xhr.send("");
var docBarz = {_id:"barzzzz", bar:1};
@@ -313,22 +314,22 @@ couchTests.changes = function(debug) {
db.save(ddoc);
- var req = CouchDB.request("GET", "/test_suite_db/_changes?filter=changes_filter/bop");
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=changes_filter/bop");
var resp = JSON.parse(req.responseText);
T(resp.results.length == 0);
db.save({"bop" : "foom"});
db.save({"bop" : false});
- var req = CouchDB.request("GET", "/test_suite_db/_changes?filter=changes_filter/bop");
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=changes_filter/bop");
var resp = JSON.parse(req.responseText);
T(resp.results.length == 1, "filtered/bop");
- req = CouchDB.request("GET", "/test_suite_db/_changes?filter=changes_filter/dynamic&field=woox");
+ req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=changes_filter/dynamic&field=woox");
resp = JSON.parse(req.responseText);
T(resp.results.length == 0);
- req = CouchDB.request("GET", "/test_suite_db/_changes?filter=changes_filter/dynamic&field=bop");
+ req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=changes_filter/dynamic&field=bop");
resp = JSON.parse(req.responseText);
T(resp.results.length == 1, "changes_filter/dynamic&field=bop");
@@ -336,13 +337,13 @@ couchTests.changes = function(debug) {
// filter with longpoll
// longpoll filters full history when run without a since seq
xhr = CouchDB.newXhr();
- xhr.open("GET", CouchDB.proxyUrl("/test_suite_db/_changes?feed=longpoll&filter=changes_filter/bop"), false);
+ xhr.open("GET", CouchDB.proxyUrl("/" + db_name + "/_changes?feed=longpoll&filter=changes_filter/bop"), false);
xhr.send("");
var resp = JSON.parse(xhr.responseText);
T(resp.last_seq == 8);
// longpoll waits until a matching change before returning
xhr = CouchDB.newXhr();
- xhr.open("GET", CouchDB.proxyUrl("/test_suite_db/_changes?feed=longpoll&since=7&filter=changes_filter/bop"), true);
+ xhr.open("GET", CouchDB.proxyUrl("/" + db_name + "/_changes?feed=longpoll&since=7&filter=changes_filter/bop"), true);
xhr.send("");
db.save({"_id":"falsy", "bop" : ""}); // empty string is falsy
db.save({"_id":"bingo","bop" : "bingo"});
@@ -362,7 +363,7 @@ couchTests.changes = function(debug) {
// filter with continuous
xhr = CouchDB.newXhr();
- xhr.open("GET", CouchDB.proxyUrl("/test_suite_db/_changes?feed=continuous&filter=changes_filter/bop&timeout="+timeout), true);
+ xhr.open("GET", CouchDB.proxyUrl("/" + db_name + "/_changes?feed=continuous&filter=changes_filter/bop&timeout="+timeout), true);
xhr.send("");
db.save({"_id":"rusty", "bop" : "plankton"});
@@ -400,17 +401,17 @@ couchTests.changes = function(debug) {
// non-existing design doc
var req = CouchDB.request("GET",
- "/test_suite_db/_changes?filter=nothingtosee/bop");
+ "/" + db_name + "/_changes?filter=nothingtosee/bop");
TEquals(404, req.status, "should return 404 for non existant design doc");
// non-existing filter
var req = CouchDB.request("GET",
- "/test_suite_db/_changes?filter=changes_filter/movealong");
+ "/" + db_name + "/_changes?filter=changes_filter/movealong");
TEquals(404, req.status, "should return 404 for non existant filter fun");
// both
var req = CouchDB.request("GET",
- "/test_suite_db/_changes?filter=nothingtosee/movealong");
+ "/" + db_name + "/_changes?filter=nothingtosee/movealong");
TEquals(404, req.status,
"should return 404 for non existant design doc and filter fun");
@@ -419,7 +420,7 @@ couchTests.changes = function(debug) {
db.save(doc);
db.deleteDoc(doc);
var req = CouchDB.request("GET",
- "/test_suite_db/_changes?filter=changes_filter/bop&style=all_docs");
+ "/" + db_name + "/_changes?filter=changes_filter/bop&style=all_docs");
var resp = JSON.parse(req.responseText);
var expect = (!is_safari && xhr) ? 3: 1;
TEquals(expect, resp.results.length, "should return matching rows");
@@ -427,7 +428,7 @@ couchTests.changes = function(debug) {
// test filter on view function (map)
//
T(db.save({"_id":"blah", "bop" : "plankton"}).ok);
- var req = CouchDB.request("GET", "/test_suite_db/_changes?filter=_view&view=changes_filter/blah");
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=_view&view=changes_filter/blah");
var resp = JSON.parse(req.responseText);
T(resp.results.length === 1);
T(resp.results[0].id === "blah");
@@ -449,21 +450,21 @@ couchTests.changes = function(debug) {
var resp = JSON.parse(req.responseText);
T(db.save({"user" : "Noah Slater"}).ok);
- var req = CouchDB.request("GET", "/test_suite_db/_changes?filter=changes_filter/userCtx", authOpts);
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=changes_filter/userCtx", authOpts);
var resp = JSON.parse(req.responseText);
T(resp.results.length == 0);
var docResp = db.save({"user" : "Chris Anderson"});
T(docResp.ok);
T(db.ensureFullCommit().ok);
- req = CouchDB.request("GET", "/test_suite_db/_changes?filter=changes_filter/userCtx", authOpts);
+ req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=changes_filter/userCtx", authOpts);
resp = JSON.parse(req.responseText);
T(resp.results.length == 1, "userCtx");
T(resp.results[0].id == docResp.id);
}
);
- req = CouchDB.request("GET", "/test_suite_db/_changes?limit=1");
+ req = CouchDB.request("GET", "/" + db_name + "/_changes?limit=1");
resp = JSON.parse(req.responseText);
TEquals(1, resp.results.length);
@@ -471,7 +472,7 @@ couchTests.changes = function(debug) {
var id = db.save({'food' : 'pizza'}).id;
db.bulkSave([{_id: id, 'food' : 'pasta'}], {all_or_nothing:true});
- req = CouchDB.request("GET", "/test_suite_db/_changes?filter=changes_filter/conflicted");
+ req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=changes_filter/conflicted");
resp = JSON.parse(req.responseText);
T(resp.results.length == 1, "filter=changes_filter/conflicted");
@@ -500,7 +501,7 @@ couchTests.changes = function(debug) {
db.createDb();
T(db.save(erl_ddoc).ok);
- var req = CouchDB.request("GET", "/test_suite_db/_changes?filter=erlang/foo");
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=erlang/foo");
var resp = JSON.parse(req.responseText);
T(resp.results.length === 0);
@@ -509,7 +510,7 @@ couchTests.changes = function(debug) {
T(db.save({_id: "doc3", value : 3}).ok);
T(db.save({_id: "doc4", value : 4}).ok);
- var req = CouchDB.request("GET", "/test_suite_db/_changes?filter=erlang/foo");
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=erlang/foo");
var resp = JSON.parse(req.responseText);
T(resp.results.length === 2);
T(resp.results[0].id === "doc2");
@@ -523,31 +524,31 @@ couchTests.changes = function(debug) {
body: JSON.stringify({"doc_ids": ["something", "anotherthing", "andmore"]})
};
- var req = CouchDB.request("POST", "/test_suite_db/_changes?filter=_doc_ids", options);
+ var req = CouchDB.request("POST", "/" + db_name + "/_changes?filter=_doc_ids", options);
var resp = JSON.parse(req.responseText);
T(resp.results.length === 0);
T(db.save({"_id":"something", "bop" : "plankton"}).ok);
- var req = CouchDB.request("POST", "/test_suite_db/_changes?filter=_doc_ids", options);
+ var req = CouchDB.request("POST", "/" + db_name + "/_changes?filter=_doc_ids", options);
var resp = JSON.parse(req.responseText);
T(resp.results.length === 1);
T(resp.results[0].id === "something");
T(db.save({"_id":"anotherthing", "bop" : "plankton"}).ok);
- var req = CouchDB.request("POST", "/test_suite_db/_changes?filter=_doc_ids", options);
+ var req = CouchDB.request("POST", "/" + db_name + "/_changes?filter=_doc_ids", options);
var resp = JSON.parse(req.responseText);
T(resp.results.length === 2);
T(resp.results[0].id === "something");
T(resp.results[1].id === "anotherthing");
var docids = JSON.stringify(["something", "anotherthing", "andmore"]),
- req = CouchDB.request("GET", "/test_suite_db/_changes?filter=_doc_ids&doc_ids="+docids, options);
+ req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=_doc_ids&doc_ids="+docids, options);
var resp = JSON.parse(req.responseText);
T(resp.results.length === 2);
T(resp.results[0].id === "something");
T(resp.results[1].id === "anotherthing");
- var req = CouchDB.request("GET", "/test_suite_db/_changes?filter=_design");
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes?filter=_design");
var resp = JSON.parse(req.responseText);
T(resp.results.length === 1);
T(resp.results[0].id === "_design/erlang");
@@ -556,7 +557,7 @@ couchTests.changes = function(debug) {
if (!is_safari && xhr) {
// filter docids with continuous
xhr = CouchDB.newXhr();
- xhr.open("POST", CouchDB.proxyUrl("/test_suite_db/_changes?feed=continuous&timeout=500&since=7&filter=_doc_ids"), true);
+ xhr.open("POST", CouchDB.proxyUrl("/" + db_name + "/_changes?feed=continuous&timeout=500&since=7&filter=_doc_ids"), true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(options.body);
@@ -659,7 +660,7 @@ couchTests.changes = function(debug) {
db.save({"bop" : "foom"});
// simulate an EventSource request with a Last-Event-ID header
- req = CouchDB.request("GET", "/test_suite_db/_changes?feed=eventsource&timeout=0&since=0",
+ req = CouchDB.request("GET", "/" + db_name + "/_changes?feed=eventsource&timeout=0&since=0",
{"headers": {"Accept": "text/event-stream", "Last-Event-ID": "2"}});
// "parse" the eventsource response and collect only the "id: ..." lines
@@ -703,7 +704,7 @@ couchTests.changes = function(debug) {
emit(parseInt(doc._id), count);
};
- var req = CouchDB.request("GET", "/test_suite_db/_changes?include_docs=true");
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes?include_docs=true");
var resp = JSON.parse(req.responseText);
T(resp.results.length == 10);
@@ -716,7 +717,7 @@ couchTests.changes = function(debug) {
T(resp.results[0].doc._attachments['bar.txt'].encoding === undefined);
T(resp.results[0].doc._attachments['bar.txt'].encoded_length === undefined);
- var req = CouchDB.request("GET", "/test_suite_db/_changes?include_docs=true&attachments=true");
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes?include_docs=true&attachments=true");
var resp = JSON.parse(req.responseText);
T(resp.results.length == 10);
@@ -729,7 +730,7 @@ couchTests.changes = function(debug) {
T(resp.results[0].doc._attachments['bar.txt'].encoding === undefined);
T(resp.results[0].doc._attachments['bar.txt'].encoded_length === undefined);
- var req = CouchDB.request("GET", "/test_suite_db/_changes?include_docs=true&att_encoding_info=true");
+ var req = CouchDB.request("GET", "/" + db_name + "/_changes?include_docs=true&att_encoding_info=true");
var resp = JSON.parse(req.responseText);
T(resp.results.length == 10);
diff --git a/test/javascript/tests/coffee.js b/test/javascript/tests/coffee.js
index 93061248c..047ac86b8 100644
--- a/test/javascript/tests/coffee.js
+++ b/test/javascript/tests/coffee.js
@@ -12,8 +12,8 @@
// test basic coffeescript functionality
couchTests.coffee = function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name();
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
if (debug) debugger;
diff --git a/test/javascript/tests/compact.js b/test/javascript/tests/compact.js
index 68c83b31b..42dd9e37c 100644
--- a/test/javascript/tests/compact.js
+++ b/test/javascript/tests/compact.js
@@ -11,8 +11,8 @@
// the License.
couchTests.compact = function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name();
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
if (debug) debugger;
var docs = makeDocs(0, 20);
@@ -54,7 +54,7 @@ couchTests.compact = function(debug) {
T(db.ensureFullCommit().ok);
restartServer();
- var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt");
+ var xhr = CouchDB.request("GET", "/" + db_name + "/bin_doc/foo.txt");
T(xhr.responseText == "This is a base64 encoded text");
T(xhr.getResponseHeader("Content-Type") == "text/plain");
T(db.info().doc_count == 1);
diff --git a/test/javascript/tests/config.js b/test/javascript/tests/config.js
index 37b339b99..b593c34e3 100644
--- a/test/javascript/tests/config.js
+++ b/test/javascript/tests/config.js
@@ -11,8 +11,8 @@
// the License.
couchTests.config = function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name();
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
if (debug) debugger;
diff --git a/test/javascript/tests/conflicts.js b/test/javascript/tests/conflicts.js
index 79266abb0..7dd7d9277 100644
--- a/test/javascript/tests/conflicts.js
+++ b/test/javascript/tests/conflicts.js
@@ -12,8 +12,8 @@
// Do some edit conflict detection tests
couchTests.conflicts = function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name();
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
if (debug) debugger;
@@ -58,27 +58,27 @@ couchTests.conflicts = function(debug) {
// Make a few bad requests, specifying conflicting revs
// ?rev doesn't match body
- var xhr = CouchDB.request("PUT", "/test_suite_db/foo?rev=1-foobar", {
+ var xhr = CouchDB.request("PUT", "/" + db_name + "/foo?rev=1-foobar", {
body : JSON.stringify(doc)
});
T(xhr.status == 400);
// If-Match doesn't match body
- xhr = CouchDB.request("PUT", "/test_suite_db/foo", {
+ xhr = CouchDB.request("PUT", "/" + db_name + "/foo", {
headers: {"If-Match": "1-foobar"},
body: JSON.stringify(doc)
});
T(xhr.status == 400);
// ?rev= doesn't match If-Match
- xhr = CouchDB.request("PUT", "/test_suite_db/foo?rev=1-boobaz", {
+ xhr = CouchDB.request("PUT", "/" + db_name + "/foo?rev=1-boobaz", {
headers: {"If-Match": "1-foobar"},
body: JSON.stringify(doc2)
});
T(xhr.status == 400);
// Now update the document using ?rev=
- xhr = CouchDB.request("PUT", "/test_suite_db/foo?rev=" + doc._rev, {
+ xhr = CouchDB.request("PUT", "/" + db_name + "/foo?rev=" + doc._rev, {
body: JSON.stringify(doc)
});
T(xhr.status == 201);
diff --git a/test/javascript/tests/cookie_auth.js b/test/javascript/tests/cookie_auth.js
index 9b4bd6414..00a393e01 100644
--- a/test/javascript/tests/cookie_auth.js
+++ b/test/javascript/tests/cookie_auth.js
@@ -13,9 +13,12 @@
couchTests.cookie_auth = function(debug) {
// This tests cookie-based authentication.
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name();
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
+
+ // used later, needs to be global here
+ var users_db_name = get_random_db_name();
if (debug) debugger;
var password = "3.141592653589";
@@ -257,7 +260,7 @@ couchTests.cookie_auth = function(debug) {
T(s.userCtx.roles.indexOf("_admin") != -1);
// test session info
T(s.info.authenticated == "cookie");
- T(s.info.authentication_db == "test_suite_users");
+ T(s.info.authentication_db == users_db_name);
// test that jchris still has the foo role
T(CouchDB.session().userCtx.roles.indexOf("foo") != -1);
});
@@ -270,13 +273,13 @@ couchTests.cookie_auth = function(debug) {
TEquals(true, CouchDB.login("jan", "apple").ok);
};
- var usersDb = new CouchDB("test_suite_users", {"X-Couch-Full-Commit":"false"});
- usersDb.deleteDb();
+ var usersDb = new CouchDB(users_db_name, {"X-Couch-Full-Commit":"false"});
+ usersDb.createDb();
run_on_modified_server(
[
{section: "couch_httpd_auth",
- key: "authentication_db", value: "test_suite_users"},
+ key: "authentication_db", value: users_db_name},
{section: "couch_httpd_auth",
key: "iterations", value: "1"},
{section: "admins",
diff --git a/test/javascript/tests/copy_doc.js b/test/javascript/tests/copy_doc.js
index d59576145..7b19f8efd 100644
--- a/test/javascript/tests/copy_doc.js
+++ b/test/javascript/tests/copy_doc.js
@@ -11,15 +11,15 @@
// the License.
couchTests.copy_doc = function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
+ var db_name = get_random_db_name();
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
db.createDb();
if (debug) debugger;
// copy a doc
var ok = db.save({_id:"doc_to_be_copied",v:1}).ok;
TEquals(true, ok, "Should return ok:true");
- var xhr = CouchDB.request("COPY", "/test_suite_db/doc_to_be_copied", {
+ var xhr = CouchDB.request("COPY", "/" + db_name + "/doc_to_be_copied", {
headers: {"Destination":"doc_that_was_copied"}
});
@@ -35,26 +35,26 @@ couchTests.copy_doc = function(debug) {
TEquals(true, doc.ok, "Should return ok:true");
// error condition
- var xhr = CouchDB.request("COPY", "/test_suite_db/doc_to_be_copied2", {
+ var xhr = CouchDB.request("COPY", "/" + db_name + "/doc_to_be_copied2", {
headers: {"Destination":"doc_to_be_overwritten"}
});
TEquals(409, xhr.status, "Should return 409 status"); // conflict
- var xhr = CouchDB.request("COPY", "/test_suite_db/doc_to_be_copied2");
+ var xhr = CouchDB.request("COPY", "/" + db_name + "/doc_to_be_copied2");
TEquals(400, xhr.status, "Should return 400 status");
TEquals("Destination header is mandatory for COPY.", JSON.parse(xhr.responseText).reason,
"Should report missing destination header");
- var xhr = CouchDB.request("COPY", "/test_suite_db/doc_to_be_copied2", {
+ var xhr = CouchDB.request("COPY", "/" + db_name + "/doc_to_be_copied2", {
headers: {
- "Destination": "http://localhost:5984/test_suite_db/doc_to_be_written"
+ "Destination": "http://localhost:5984/" + db_name + "/doc_to_be_written"
}});
TEquals(400, xhr.status, "Should return 400 status");
TEquals("Destination URL must be relative.", JSON.parse(xhr.responseText).reason,
"Should report invalid destination header");
var rev = db.open("doc_to_be_overwritten")._rev;
- var xhr = CouchDB.request("COPY", "/test_suite_db/doc_to_be_copied2", {
+ var xhr = CouchDB.request("COPY", "/" + db_name + "/doc_to_be_copied2", {
headers: {"Destination":"doc_to_be_overwritten?rev=" + rev}
});
TEquals(201, xhr.status, "Should return 201 status");
diff --git a/test/javascript/tests/delayed_commits.js b/test/javascript/tests/delayed_commits.js
index dbb072fbf..f88872beb 100644
--- a/test/javascript/tests/delayed_commits.js
+++ b/test/javascript/tests/delayed_commits.js
@@ -11,6 +11,10 @@
// the License.
couchTests.delayed_commits = function(debug) {
+ // NOTE: in 2.0 deayed_commits is deprecated, so we don’t port 1.x test over
+ // to 2.0 here. jan@apache.org 2015-10-07
+ return;
+
var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
db.deleteDb();
db.createDb();
diff --git a/test/javascript/tests/design_docs.js b/test/javascript/tests/design_docs.js
index dd38858a6..b043a5400 100644
--- a/test/javascript/tests/design_docs.js
+++ b/test/javascript/tests/design_docs.js
@@ -11,14 +11,14 @@
// the License.
couchTests.design_docs = function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- var db2 = new CouchDB("test_suite_db_a", {"X-Couch-Full-Commit":"false"});
+ var db_name = get_random_db_name();
+ var db_name_a = get_random_db_name();
+ var db = new CouchDB(db_name, {"X-Couch-Full-Commit":"false"});
+ var db2 = new CouchDB(db_name_a, {"X-Couch-Full-Commit":"false"});
if (debug) debugger;
- db.deleteDb();
db.createDb();
- db2.deleteDb();
db2.createDb();
var server_config = [
@@ -199,14 +199,14 @@ couchTests.design_docs = function(debug) {
}; // designDoc
var xhr = CouchDB.request(
- "PUT", "/test_suite_db_a/_design/test", {body: JSON.stringify(designDoc)}
+ "PUT", "/" + db_name_a + "/_design/test", {body: JSON.stringify(designDoc)}
);
var resp = JSON.parse(xhr.responseText);
TEquals(resp.rev, db.save(designDoc).rev);
// test that editing a show fun on the ddoc results in a change in output
- xhr = CouchDB.request("GET", "/test_suite_db/_design/test/_show/simple");
+ xhr = CouchDB.request("GET", "/" + db_name + "/_design/test/_show/simple");
T(xhr.status == 200);
TEquals(xhr.responseText, "ok");
@@ -215,29 +215,29 @@ couchTests.design_docs = function(debug) {
}).toString();
T(db.save(designDoc).ok);
- xhr = CouchDB.request("GET", "/test_suite_db/_design/test/_show/simple");
+ xhr = CouchDB.request("GET", "/" + db_name + "/_design/test/_show/simple");
T(xhr.status == 200);
TEquals(xhr.responseText, "ko");
xhr = CouchDB.request(
- "GET", "/test_suite_db_a/_design/test/_show/simple?cache=buster"
+ "GET", "/" + db_name_a + "/_design/test/_show/simple?cache=buster"
);
T(xhr.status == 200);
TEquals("ok", xhr.responseText, 'query server used wrong ddoc');
// test commonjs require
- xhr = CouchDB.request("GET", "/test_suite_db/_design/test/_show/requirey");
+ xhr = CouchDB.request("GET", "/" + db_name + "/_design/test/_show/requirey");
T(xhr.status == 200);
TEquals("PLANKTONwhatever/commonjs/upperplankton", xhr.responseText);
- xhr = CouchDB.request("GET", "/test_suite_db/_design/test/_show/circular");
+ xhr = CouchDB.request("GET", "/" + db_name + "/_design/test/_show/circular");
T(xhr.status == 200);
TEquals("javascript", JSON.parse(xhr.responseText).language);
// test circular commonjs dependencies
xhr = CouchDB.request(
"GET",
- "/test_suite_db/_design/test/_show/circular_require"
+ "/" + db_name + "/_design/test/_show/circular_require"
);
TEquals(200, xhr.status);
TEquals("One", xhr.responseText);
@@ -252,30 +252,30 @@ couchTests.design_docs = function(debug) {
// changed
xhr = CouchDB.request(
"GET",
- "/test_suite_db/_design/test/_show/circular_require"
+ "/" + db_name + "/_design/test/_show/circular_require"
);
TEquals(200, xhr.status);
TEquals("Updated", xhr.responseText);
// test module id values are as expected:
- xhr = CouchDB.request("GET", "/test_suite_db/_design/test/_show/idtest1");
+ xhr = CouchDB.request("GET", "/" + db_name + "/_design/test/_show/idtest1");
TEquals(200, xhr.status);
TEquals("whatever/idtest1/a/c/e", xhr.responseText);
- xhr = CouchDB.request("GET", "/test_suite_db/_design/test/_show/idtest2");
+ xhr = CouchDB.request("GET", "/" + db_name + "/_design/test/_show/idtest2");
TEquals(200, xhr.status);
TEquals("whatever/idtest2/a/c/e", xhr.responseText);
- xhr = CouchDB.request("GET", "/test_suite_db/_design/test/_show/idtest3");
+ xhr = CouchDB.request("GET", "/" + db_name + "/_design/test/_show/idtest3");
TEquals(200, xhr.status);
TEquals("whatever/idtest3/a/c/e", xhr.responseText);
- xhr = CouchDB.request("GET", "/test_suite_db/_design/test/_show/idtest4");
+ xhr = CouchDB.request("GET", "/" + db_name + "/_design/test/_show/idtest4");
TEquals(200, xhr.status);
TEquals("whatever/idtest4/a/c/e", xhr.responseText);
- xhr = CouchDB.request("GET", "/test_suite_db/_design/test/_show/idtest5");
+ xhr = CouchDB.request("GET", "/" + db_name + "/_design/test/_show/idtest5");
TEquals(200, xhr.status);
TEquals("whatever/idtest5/b", xhr.responseText);
@@ -305,7 +305,7 @@ couchTests.design_docs = function(debug) {
TEquals(0, db.view("test/single_doc", {stale: "ok"}).total_rows, 'view info');
TEquals(0, db.view("test/summate", {stale: "ok"}).rows.length, 'view info');
T(db.ensureFullCommit().ok);
- restartServer();
+ // restartServer();
};
db.bulkSave(makeDocs(numDocs + 1, numDocs * 2 + 1));
@@ -332,7 +332,7 @@ couchTests.design_docs = function(debug) {
TEquals(len2, db.view("test/single_doc", {stale: "ok"}).total_rows, 'view cleanup');
TEquals(len3, db.view("test/summate", {stale: "ok"}).rows.length, 'view cleanup');
T(db.ensureFullCommit().ok);
- restartServer();
+ // restartServer();
// we'll test whether the view group stays closed
// and the views stay uninitialized (they should!)
len1 = len2 = len3 = 0;
@@ -355,7 +355,7 @@ couchTests.design_docs = function(debug) {
T(db.view("test/no_docs").total_rows == 0);
T(db.view("test/single_doc").total_rows == 1);
T(db.ensureFullCommit().ok);
- restartServer();
+ // restartServer();
};
// test when language not specified, Javascript is implied
@@ -411,7 +411,7 @@ couchTests.design_docs = function(debug) {
T(db.view("test/no_docs") == null);
T(db.ensureFullCommit().ok);
- restartServer();
+ // restartServer();
T(db.open(designDoc._id) == null);
T(db.view("test/no_docs") == null);