From ad7099a4e3f3d2035e3e26419a633b4bb1ce7b7c Mon Sep 17 00:00:00 2001 From: Adam Kocoloski Date: Wed, 11 Aug 2010 16:13:08 -0400 Subject: move futon into release overlay --- share/www/script/test/uuids.js | 120 ----------------------------------------- 1 file changed, 120 deletions(-) delete mode 100644 share/www/script/test/uuids.js (limited to 'share/www/script/test/uuids.js') 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 - ); - -}; -- cgit v1.2.3