diff options
Diffstat (limited to 'tests/white-box')
-rw-r--r-- | tests/white-box/couchdb.rb | 2 | ||||
-rw-r--r-- | tests/white-box/mx.rb | 31 |
2 files changed, 32 insertions, 1 deletions
diff --git a/tests/white-box/couchdb.rb b/tests/white-box/couchdb.rb index edb28eac..da226cc9 100644 --- a/tests/white-box/couchdb.rb +++ b/tests/white-box/couchdb.rb @@ -9,8 +9,8 @@ class CouchDB < LeapTest end def test_00_Are_daemons_running? + assert_running 'bin/beam' if multimaster? - assert_running 'bin/beam' assert_running 'bin/epmd' end pass diff --git a/tests/white-box/mx.rb b/tests/white-box/mx.rb index ed990a2e..768b561f 100644 --- a/tests/white-box/mx.rb +++ b/tests/white-box/mx.rb @@ -31,6 +31,37 @@ class Mx < LeapTest end end + # + # this test picks a random identity document, then queries + # using the by_address view for that same document again. + # + def test_03_Can_query_identities_db? + assert_get(couchdb_url("/identities", url_options)) do |body| + assert response = JSON.parse(body) + doc_count = response['doc_count'].to_i + if doc_count < 1 + skip "There are no identity records yet." + else + offset = rand(doc_count) # pick a random document + count_url = couchdb_url("/identities/_all_docs?include_docs=true&limit=1&skip=#{offset}", url_options) + assert_get(count_url) do |body| + assert response = JSON.parse(body) + record = response['rows'].first + address = record['doc']['address'] + assert address, "address should not be empty" + url_base = %(/identities/_design/Identity/_view/by_address) + params = %(?include_docs=true&reduce=false&startkey="#{address}"&endkey="#{address}") + assert_get(couchdb_url(url_base+params, url_options)) do |body| + assert response = JSON.parse(body) + assert record = response['rows'].first + assert_equal address, record['doc']['address'] + pass + end + end + end + end + end + def test_03_Are_MX_daemons_running? assert_running '.*/usr/bin/twistd.*mx.tac' assert_running '^/usr/lib/postfix/master$' |