diff options
author | Azul <azul@riseup.net> | 2014-02-04 11:25:43 +0100 |
---|---|---|
committer | Azul <azul@riseup.net> | 2014-02-04 11:46:57 +0100 |
commit | c3cb71ca5e6d32960e4493d85799f3706ea91fe8 (patch) | |
tree | b42a5522f0eb4729d76c9ab24e97101ff6119ce5 /test | |
parent | 630c38a0bcf4ca39ede98d354d8d43e6f735317c (diff) |
test user deletion
Diffstat (limited to 'test')
-rw-r--r-- | test/integration/tapicero_test.rb | 19 | ||||
-rw-r--r-- | test/support/integration_test.rb | 16 |
2 files changed, 27 insertions, 8 deletions
diff --git a/test/integration/tapicero_test.rb b/test/integration/tapicero_test.rb index b7a3dd4..88e3715 100644 --- a/test/integration/tapicero_test.rb +++ b/test/integration/tapicero_test.rb @@ -2,24 +2,35 @@ require_relative '../test_helper.rb' class TapiceroTest < Tapicero::IntegrationTest - def test_creates_user_db + def setup create_user + end + + def teardown + delete_user(true) + end + + def test_creates_user_db assert user_database assert user_database.name.start_with?(config.options[:db_prefix]) - assert user_database.info + assert user_database.info # ensure db exists in couch. end def test_configures_security - create_user assert_equal config.options[:security], user_database.get('_security') end def test_stores_design_docs - create_user assert_equal ['_design/docs', '_design/syncs', '_design/transactions'], design_docs(user_database).map{|doc| doc["id"]}.sort end + def test_cleares_user_db + assert user_database.info # ensure db exists in couch. + delete_user + assert !host.databases.include?(user_database.name) + end + def design_docs(db) db.documents(startkey: '_design', endkey: '_design'.succ)["rows"] end diff --git a/test/support/integration_test.rb b/test/support/integration_test.rb index 44f0546..b28c0e1 100644 --- a/test/support/integration_test.rb +++ b/test/support/integration_test.rb @@ -1,15 +1,23 @@ module Tapicero class IntegrationTest < MiniTest::Unit::TestCase - def create_user + def create_user(fast = false) result = database.save_doc :some => :content raise RuntimeError.new(result.inspect) unless result['ok'] - sleep 1 # allow tapicero to do its job - @user_id = result['id'] + sleep 1 unless fast # allow tapicero to do its job + @user = {'_id' => result["id"], '_rev' => result["rev"]} + end + + def delete_user(fast = false) + return if @user.nil? or @user['_deleted'] + result = database.delete_doc @user + raise RuntimeError.new(result.inspect) unless result['ok'] + @user['_deleted'] = true + sleep 1 unless fast # allow tapicero to do its job end def user_database - host.database(config.options[:db_prefix] + @user_id) + host.database(config.options[:db_prefix] + @user['_id']) end def database |