summaryrefslogtreecommitdiff
path: root/share/www/script/test/uuids.js
diff options
context:
space:
mode:
authorAdam Kocoloski <adam@cloudant.com>2010-08-11 16:13:08 -0400
committerAdam Kocoloski <adam@cloudant.com>2010-08-11 17:39:38 -0400
commitad7099a4e3f3d2035e3e26419a633b4bb1ce7b7c (patch)
tree435656380eb6cefc7abe3d20369f022a75a014f3 /share/www/script/test/uuids.js
parent67eff5876bca3108baf37b97cfc9f9e5920dcdb7 (diff)
move futon into release overlay
Diffstat (limited to 'share/www/script/test/uuids.js')
-rw-r--r--share/www/script/test/uuids.js120
1 files changed, 0 insertions, 120 deletions
diff --git a/share/www/script/test/uuids.js b/share/www/script/test/uuids.js
deleted file mode 100644
index fc33a105..00000000
--- a/share/www/script/test/uuids.js
+++ /dev/null
@@ -1,120 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-
-couchTests.uuids = function(debug) {
- var etags = [];
- var testHashBustingHeaders = function(xhr) {
- T(xhr.getResponseHeader("Cache-Control").match(/no-cache/));
- T(xhr.getResponseHeader("Pragma") == "no-cache");
-
- var newetag = xhr.getResponseHeader("ETag");
- T(etags.indexOf(newetag) < 0);
- etags[etags.length] = newetag;
-
- // Removing the time based tests as they break easily when
- // running CouchDB on a remote server in regards to the browser
- // running the Futon test suite.
- //
- //var currentTime = new Date();
- //var expiresHeader = Date.parse(xhr.getResponseHeader("Expires"));
- //var dateHeader = Date.parse(xhr.getResponseHeader("Date"));
-
- //T(expiresHeader < currentTime);
- //T(currentTime - dateHeader < 3000);
- };
-
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
- db.createDb();
- if (debug) debugger;
-
- // a single UUID without an explicit count
- var xhr = CouchDB.request("GET", "/_uuids");
- T(xhr.status == 200);
- var result = JSON.parse(xhr.responseText);
- T(result.uuids.length == 1);
- var first = result.uuids[0];
- testHashBustingHeaders(xhr);
-
- // a single UUID with an explicit count
- xhr = CouchDB.request("GET", "/_uuids?count=1");
- T(xhr.status == 200);
- result = JSON.parse(xhr.responseText);
- T(result.uuids.length == 1);
- var second = result.uuids[0];
- T(first != second);
-
- // no collisions with 1,000 UUIDs
- xhr = CouchDB.request("GET", "/_uuids?count=1000");
- T(xhr.status == 200);
- result = JSON.parse(xhr.responseText);
- T( result.uuids.length == 1000 );
- var seen = {};
- for(var i in result.uuids) {
- var id = result.uuids[i];
- T(seen[id] === undefined);
- seen[id] = 1;
- }
-
- // ensure we return a 405 on POST
- xhr = CouchDB.request("POST", "/_uuids?count=1000");
- T(xhr.status == 405);
-
- // Test sequential uuids
- var seq_testfun = function() {
- xhr = CouchDB.request("GET", "/_uuids?count=1000");
- T(xhr.status == 200);
- result = JSON.parse(xhr.responseText);
- for(var i = 1; i < result.uuids.length; i++) {
- T(result.uuids[i].length == 32);
- T(result.uuids[i-1] < result.uuids[i], "Sequential uuids are ordered.");
- }
- };
-
- run_on_modified_server([{
- "section": "uuids",
- "key": "algorithm",
- "value": "sequential",
- }],
- seq_testfun
- );
-
- // Test utc_random uuids
- var utc_testfun = function() {
- xhr = CouchDB.request("GET", "/_uuids?count=1000");
- T(xhr.status == 200);
- result = JSON.parse(xhr.responseText);
- T(result.uuids[1].length == 32);
-
- // no collisions
- var seen = {};
- for(var i in result.uuids) {
- var id = result.uuids[i];
- T(seen[id] === undefined);
- seen[id] = 1;
- }
-
- // roughly ordered
- var u1 = result.uuids[1].substr(0, 13);
- var u2 = result.uuids[result.uuids.length-1].substr(0, 13);
- T(u1 < u2, "UTC uuids are only roughly ordered, so this assertion may fail occasionally. Don't sweat it.");
- };
-
- run_on_modified_server([{
- "section": "uuids",
- "key": "algorithm",
- "value": "utc_random"
- }],
- utc_testfun
- );
-
-};