summaryrefslogtreecommitdiff
path: root/share/www/script/test/etags_views.js
diff options
context:
space:
mode:
Diffstat (limited to 'share/www/script/test/etags_views.js')
-rw-r--r--share/www/script/test/etags_views.js126
1 files changed, 0 insertions, 126 deletions
diff --git a/share/www/script/test/etags_views.js b/share/www/script/test/etags_views.js
deleted file mode 100644
index a12734f8..00000000
--- a/share/www/script/test/etags_views.js
+++ /dev/null
@@ -1,126 +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.etags_views = function(debug) {
- var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
- db.deleteDb();
- db.createDb();
- if (debug) debugger;
-
- var designDoc = {
- _id:"_design/etags",
- language: "javascript",
- views : {
- basicView : {
- map : stringFun(function(doc) {
- emit(doc.integer, doc.string);
- })
- },
- withReduce : {
- map : stringFun(function(doc) {
- emit(doc.integer, doc.string);
- }),
- reduce : stringFun(function(keys, values, rereduce) {
- if (rereduce) {
- return sum(values);
- } else {
- return values.length;
- }
- })
- }
- }
- }
- T(db.save(designDoc).ok);
- var xhr;
- var docs = makeDocs(0, 10);
- db.bulkSave(docs);
-
- // verify get w/Etag on map view
- xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/basicView");
- T(xhr.status == 200);
- var etag = xhr.getResponseHeader("etag");
- xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/basicView", {
- headers: {"if-none-match": etag}
- });
- T(xhr.status == 304);
- // TODO GET with keys (when that is available)
-
- // reduce view
- xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/withReduce");
- T(xhr.status == 200);
- var etag = xhr.getResponseHeader("etag");
- xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/withReduce", {
- headers: {"if-none-match": etag}
- });
- T(xhr.status == 304);
-
- // confirm ETag changes with different POST bodies
- xhr = CouchDB.request("POST", "/test_suite_db/_design/etags/_view/basicView",
- {body: JSON.stringify({keys:[1]})}
- );
- var etag1 = xhr.getResponseHeader("etag");
- xhr = CouchDB.request("POST", "/test_suite_db/_design/etags/_view/basicView",
- {body: JSON.stringify({keys:[2]})}
- );
- var etag2 = xhr.getResponseHeader("etag");
- T(etag1 != etag2, "POST to map view generates key-depdendent ETags");
-
- xhr = CouchDB.request("POST",
- "/test_suite_db/_design/etags/_view/withReduce?group=true",
- {body: JSON.stringify({keys:[1]})}
- );
- etag1 = xhr.getResponseHeader("etag");
- xhr = CouchDB.request("POST",
- "/test_suite_db/_design/etags/_view/withReduce?group=true",
- {body: JSON.stringify({keys:[2]})}
- );
- etag2 = xhr.getResponseHeader("etag");
- T(etag1 != etag2, "POST to reduce view generates key-depdendent ETags");
-
- // all docs
- xhr = CouchDB.request("GET", "/test_suite_db/_all_docs");
- T(xhr.status == 200);
- var etag = xhr.getResponseHeader("etag");
- xhr = CouchDB.request("GET", "/test_suite_db/_all_docs", {
- headers: {"if-none-match": etag}
- });
- T(xhr.status == 304);
-
- // _changes
- xhr = CouchDB.request("GET", "/test_suite_db/_changes");
- T(xhr.status == 200);
- var etag = xhr.getResponseHeader("etag");
- xhr = CouchDB.request("GET", "/test_suite_db/_changes", {
- headers: {"if-none-match": etag}
- });
- T(xhr.status == 304);
-
- // list etag
- // in the list test for now
-
- // A new database should have unique _all_docs etags.
- db.deleteDb();
- db.createDb();
- db.save({a: 1});
- xhr = CouchDB.request("GET", "/test_suite_db/_all_docs");
- var etag = xhr.getResponseHeader("etag");
- db.deleteDb();
- db.createDb();
- db.save({a: 2});
- xhr = CouchDB.request("GET", "/test_suite_db/_all_docs");
- var new_etag = xhr.getResponseHeader("etag");
- T(etag != new_etag);
- // but still be cacheable
- xhr = CouchDB.request("GET", "/test_suite_db/_all_docs");
- T(new_etag == xhr.getResponseHeader("etag"));
-
-};