summaryrefslogtreecommitdiff
path: root/tests/white-box/webapp.rb
diff options
context:
space:
mode:
authorMicah Anderson <micah@leap.se>2015-07-23 11:46:55 -0400
committerMicah Anderson <micah@leap.se>2015-07-23 11:46:55 -0400
commit70b1c648b94e6c007b9241a4661f33881e74485f (patch)
tree999e5dc1f386fc3894889c1cf263094cc748fd41 /tests/white-box/webapp.rb
parentb429b30bda4dafc78cb02f6ece5d82f08e35de1f (diff)
parent2761fa77394d5a2857812de840e49172d0e486fb (diff)
Merge branch 'develop'
Diffstat (limited to 'tests/white-box/webapp.rb')
-rw-r--r--tests/white-box/webapp.rb21
1 files changed, 18 insertions, 3 deletions
diff --git a/tests/white-box/webapp.rb b/tests/white-box/webapp.rb
index 1e78c8a5..9956eb35 100644
--- a/tests/white-box/webapp.rb
+++ b/tests/white-box/webapp.rb
@@ -99,18 +99,33 @@ class Webapp < LeapTest
# we try three times, and give up after that.
#
def assert_user_db_exists(user)
+ db_name = "user-#{user.id}"
+ repeatedly_try("/#{db_name}") do |body, response, error|
+ assert false, "Could not find user db `#{db_name}` for test user `#{user.username}`\nuuid=#{user.id}\nHTTP #{response.code} #{error} #{body}"
+ end
+ repeatedly_try("/#{db_name}/_design/docs") do |body, response, error|
+ assert false, "Could not find design docs for user db `#{db_name}` for test user `#{user.username}`\nuuid=#{user.id}\nHTTP #{response.code} #{error} #{body}"
+ end
+ end
+
+ #
+ # tries the URL repeatedly, giving up and yield the last response if
+ # no try returned a 200 http status code.
+ #
+ def repeatedly_try(url, &block)
last_body, last_response, last_error = nil
3.times do
sleep 0.2
- get(couchdb_url("/user-#{user.id}/_design/docs")) do |body, response, error|
+ get(couchdb_url(url)) do |body, response, error|
last_body, last_response, last_error = body, response, error
if response.code.to_i == 200
return
end
end
- sleep 0.5
+ sleep 1
end
- assert false, "Could not find user db for test user #{user.username}\nuuid=#{user.id}\nHTTP #{last_response.code} #{last_error} #{last_body}"
+ yield last_body, last_response, last_error
+ return
end
#