From c3cb71ca5e6d32960e4493d85799f3706ea91fe8 Mon Sep 17 00:00:00 2001 From: Azul Date: Tue, 4 Feb 2014 11:25:43 +0100 Subject: test user deletion --- test/integration/tapicero_test.rb | 19 +++++++++++++++---- 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 -- cgit v1.2.3