summaryrefslogtreecommitdiff
path: root/tests/white-box
diff options
context:
space:
mode:
authorMicah Anderson <micah@leap.se>2015-06-11 12:10:09 -0400
committerMicah Anderson <micah@leap.se>2015-06-11 12:10:09 -0400
commitb429b30bda4dafc78cb02f6ece5d82f08e35de1f (patch)
tree37efc30a4fcb642dec583c3accea76f7a7de9c39 /tests/white-box
parent67b2bea2dfcfb06191bf5ed562309f264c6aed8c (diff)
parentd9146415db0e6b7dd0c945039c0a4ed4fd054a7d (diff)
Merge tag '0.7.0'
Releasing 0.7.0
Diffstat (limited to 'tests/white-box')
-rw-r--r--tests/white-box/couchdb.rb21
-rw-r--r--tests/white-box/webapp.rb13
2 files changed, 22 insertions, 12 deletions
diff --git a/tests/white-box/couchdb.rb b/tests/white-box/couchdb.rb
index 450c4201..5ee12ff3 100644
--- a/tests/white-box/couchdb.rb
+++ b/tests/white-box/couchdb.rb
@@ -82,7 +82,9 @@ class CouchDB < LeapTest
end
def test_05_Do_required_databases_exist?
- dbs_that_should_exist = ["customers","identities","keycache","sessions","shared","tickets","tokens","users"]
+ dbs_that_should_exist = ["customers","identities","keycache","shared","tickets","users", "tmp_users"]
+ dbs_that_should_exist << "tokens_#{rotation_suffix}"
+ dbs_that_should_exist << "sessions_#{rotation_suffix}"
dbs_that_should_exist.each do |db_name|
url = couchdb_url("/"+db_name, :username => 'admin')
assert_get(url) do |body|
@@ -113,9 +115,9 @@ class CouchDB < LeapTest
#end
def test_07_Can_records_be_created?
- token = Token.new
- url = couchdb_url("/tokens", :username => 'admin')
- assert_post(url, token, :format => :json) do |body|
+ record = DummyRecord.new
+ url = couchdb_url("/tokens_#{rotation_suffix}", :username => 'admin')
+ assert_post(url, record, :format => :json) do |body|
assert response = JSON.parse(body), "POST response should be JSON"
assert response["ok"], "POST response should be OK"
assert_delete(File.join(url, response["id"]), :rev => response["rev"]) do |body|
@@ -142,13 +144,16 @@ class CouchDB < LeapTest
couchdb_url(path, options)
end
+ def rotation_suffix
+ rotation_suffix = Time.now.utc.to_i / 2592000 # monthly
+ end
+
require 'securerandom'
require 'digest/sha2'
- class Token < Hash
+ class DummyRecord < Hash
def initialize
- self['token'] = SecureRandom.urlsafe_base64(32).gsub(/^_*/, '')
- self['_id'] = Digest::SHA512.hexdigest(self['token'])
- self['last_seen_at'] = Time.now
+ self['data'] = SecureRandom.urlsafe_base64(32).gsub(/^_*/, '')
+ self['_id'] = Digest::SHA512.hexdigest(self['data'])
end
end
diff --git a/tests/white-box/webapp.rb b/tests/white-box/webapp.rb
index 9f104899..1e78c8a5 100644
--- a/tests/white-box/webapp.rb
+++ b/tests/white-box/webapp.rb
@@ -42,11 +42,16 @@ class Webapp < LeapTest
end
def test_05_Can_create_and_authenticate_and_delete_user_via_API?
- assert_tmp_user
- pass
+ if property('webapp.allow_registration')
+ assert_tmp_user
+ pass
+ else
+ skip "New user registrations are disabled."
+ end
end
def test_06_Can_sync_Soledad?
+ return unless property('webapp.allow_registration')
soledad_config = property('definition_files.soledad_service')
if soledad_config && !soledad_config.empty?
soledad_server = pick_soledad_server(soledad_config)
@@ -96,14 +101,14 @@ class Webapp < LeapTest
def assert_user_db_exists(user)
last_body, last_response, last_error = nil
3.times do
- sleep 0.1
+ sleep 0.2
get(couchdb_url("/user-#{user.id}/_design/docs")) do |body, response, error|
last_body, last_response, last_error = body, response, error
if response.code.to_i == 200
return
end
end
- sleep 0.2
+ sleep 0.5
end
assert false, "Could not find user db for test user #{user.username}\nuuid=#{user.id}\nHTTP #{last_response.code} #{last_error} #{last_body}"
end