diff options
author | Jan Lehnardt <jan@apache.org> | 2015-10-07 15:04:16 +0200 |
---|---|---|
committer | Jan Lehnardt <jan@apache.org> | 2015-12-12 15:23:44 +0100 |
commit | aa1731d944d40cc10881798758ca404abd67ccc5 (patch) | |
tree | 735b90796f787ae7bee4a28ef368afbfc097b341 | |
parent | b2bb3b8038fcfbafe1b47d0168191ff1a526649b (diff) | |
download | couchdb-aa1731d944d40cc10881798758ca404abd67ccc5.tar.gz |
wip-continued: port tests to random databases
-rw-r--r-- | test/javascript/tests/attachment_ranges.js | 28 | ||||
-rw-r--r-- | test/javascript/tests/attachment_views.js | 4 | ||||
-rw-r--r-- | test/javascript/tests/attachments.js | 64 | ||||
-rw-r--r-- | test/javascript/tests/attachments_multipart.js | 28 | ||||
-rw-r--r-- | test/javascript/tests/basics.js | 42 | ||||
-rw-r--r-- | test/javascript/tests/batch_save.js | 4 | ||||
-rw-r--r-- | test/javascript/tests/bulk_docs.js | 8 | ||||
-rw-r--r-- | test/javascript/tests/changes.js | 87 | ||||
-rw-r--r-- | test/javascript/tests/coffee.js | 4 | ||||
-rw-r--r-- | test/javascript/tests/compact.js | 6 | ||||
-rw-r--r-- | test/javascript/tests/config.js | 4 | ||||
-rw-r--r-- | test/javascript/tests/conflicts.js | 12 | ||||
-rw-r--r-- | test/javascript/tests/cookie_auth.js | 15 | ||||
-rw-r--r-- | test/javascript/tests/copy_doc.js | 16 | ||||
-rw-r--r-- | test/javascript/tests/delayed_commits.js | 4 | ||||
-rw-r--r-- | test/javascript/tests/design_docs.js | 42 |
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); |