summaryrefslogtreecommitdiff
path: root/share/www/script/test/design_docs.js
diff options
context:
space:
mode:
authorJohn Christopher Anderson <jchris@apache.org>2009-07-04 15:47:47 +0000
committerJohn Christopher Anderson <jchris@apache.org>2009-07-04 15:47:47 +0000
commitf6fd760c17cb5d5d49211be4b4ff92e797e83157 (patch)
tree7b46e812de759d179898d06f9757db8b1623ea46 /share/www/script/test/design_docs.js
parentc25c1bd826273c9ad4d1c506bd33f34bf8502056 (diff)
Name view index files by their function hashes for no downtime deploys. Closes COUCHDB-218
Adds ability to switch view indexes on the fly by building the index from a "staging" design doc, and then COPYing the staging doc to the production doc's id. Since indexes are referenced by view definition, the new version of the production design doc will point immediately to the index files already built in staging. Please use and give feedback. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@791140 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/www/script/test/design_docs.js')
-rw-r--r--share/www/script/test/design_docs.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/share/www/script/test/design_docs.js b/share/www/script/test/design_docs.js
index 8f003efa..b1ff8432 100644
--- a/share/www/script/test/design_docs.js
+++ b/share/www/script/test/design_docs.js
@@ -49,6 +49,14 @@ function() {
}
T(db.save(designDoc).ok);
+ // test that we get design doc info back
+ var dinfo = db.designInfo("_design/test");
+ TEquals("test", dinfo.name);
+ var vinfo = dinfo.view_index;
+ TEquals(51, vinfo.disk_size);
+ TEquals(false, vinfo.compact_running);
+ TEquals("64625dce94960fd5ca116e42aa9d011a", vinfo.signature);
+
db.bulkSave(makeDocs(1, numDocs + 1));
// test that the _all_docs view returns correctly with keys
@@ -66,7 +74,7 @@ function() {
T(db.ensureFullCommit().ok);
restartServer();
};
-
+
// test when language not specified, Javascript is implied
var designDoc2 = {
_id:"_design/test2",
@@ -110,5 +118,9 @@ function() {
restartServer();
T(db.open(designDoc._id) == null);
T(db.view("test/no_docs") == null);
+
+ // trigger ddoc cleanup
+ T(db.viewCleanup().ok);
+
});
};