diff options
author | Micah Anderson <micah@leap.se> | 2015-07-23 11:46:55 -0400 |
---|---|---|
committer | Micah Anderson <micah@leap.se> | 2015-07-23 11:46:55 -0400 |
commit | 70b1c648b94e6c007b9241a4661f33881e74485f (patch) | |
tree | 999e5dc1f386fc3894889c1cf263094cc748fd41 /tests/white-box/webapp.rb | |
parent | b429b30bda4dafc78cb02f6ece5d82f08e35de1f (diff) | |
parent | 2761fa77394d5a2857812de840e49172d0e486fb (diff) |
Merge branch 'develop'
Diffstat (limited to 'tests/white-box/webapp.rb')
-rw-r--r-- | tests/white-box/webapp.rb | 21 |
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 # |