summaryrefslogtreecommitdiff
path: root/tests/white-box
diff options
context:
space:
mode:
Diffstat (limited to 'tests/white-box')
-rw-r--r--tests/white-box/couchdb.rb31
1 files changed, 30 insertions, 1 deletions
diff --git a/tests/white-box/couchdb.rb b/tests/white-box/couchdb.rb
index 6ffc6a4f..3abddefc 100644
--- a/tests/white-box/couchdb.rb
+++ b/tests/white-box/couchdb.rb
@@ -33,12 +33,18 @@ class TestCouchdb < LeapTest
pass
end
+ #
+ # all configured nodes are in 'cluster_nodes'
+ # all nodes online and communicating are in 'all_nodes'
+ #
+ # this seems backward to me, so it might be the other way around.
+ #
def test_03_replica_membership
url = couchdb_url("/_membership")
assert_get(url) do |body|
response = JSON.parse(body)
nodes_configured_but_not_available = response['cluster_nodes'] - response['all_nodes']
- nodes_available_but_not_configured = response['cluster_nodes'] - response['all_nodes']
+ nodes_available_but_not_configured = response['all_nodes'] - response['cluster_nodes']
if nodes_configured_but_not_available.any?
warn "These nodes are configured but not available:", nodes_configured_but_not_available
end
@@ -51,6 +57,29 @@ class TestCouchdb < LeapTest
end
end
+ def test_04_acl_users_exist
+ acl_users = ['_design/_auth', 'leap_mx', 'nickserver', 'soledad', 'tapicero', 'webapp']
+ url = couchdb_backend_url("/_users/_all_docs")
+ assert_get(url) do |body|
+ response = JSON.parse(body)
+ assert_equal 6, response['total_rows']
+ actual_users = response['rows'].map{|row| row['id'].sub(/^org.couchdb.user:/, '') }
+ assert_equal acl_users, actual_users
+ end
+ pass
+ end
+
+ def test_05_databases_exist
+ dbs_that_should_exist = ["customers","identities","keycache","sessions","shared","tickets","tokens","users"]
+ dbs_that_should_exist.each do |db_name|
+ assert_get(couchdb_url("/"+db_name)) do |body|
+ assert response = JSON.parse(body)
+ assert_equal db_name, response['db_name']
+ end
+ end
+ pass
+ end
+
private
def couchdb_url(path="", port=nil)