From 54653f75cf44890310a06c3a8a6be59625629d2a Mon Sep 17 00:00:00 2001 From: Azul Date: Fri, 19 Jan 2018 14:11:24 +0100 Subject: API: implement deleting keys through new keys api --- test/unit/keyring_test.rb | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'test/unit/keyring_test.rb') diff --git a/test/unit/keyring_test.rb b/test/unit/keyring_test.rb index 059b8dd..c7df63e 100644 --- a/test/unit/keyring_test.rb +++ b/test/unit/keyring_test.rb @@ -21,6 +21,13 @@ class KeyringTest < ActiveSupport::TestCase assert_equal 'new value', keyring.key_of_type('type')['value'] end + test 'raise on updating missing key' do + assert_raises Keyring::NotFound do + keyring.update 'type', rev: nil ,value: 'new value' + end + assert_nil keyring.key_of_type('type') + end + test 'raise on updating without rev' do keyring.create 'type', 'value' assert_raises Keyring::Error do @@ -37,6 +44,35 @@ class KeyringTest < ActiveSupport::TestCase assert_equal 'value', keyring.key_of_type('type')['value'] end + test 'delete key' do + keyring.create 'type', 'value' + initial_rev = keyring.key_of_type('type')['rev'] + keyring.delete 'type', rev: initial_rev + assert_nil keyring.key_of_type('type') + end + + test 'raise on deleting missing key' do + assert_raises Keyring::NotFound do + keyring.delete 'type', rev: nil + end + end + + test 'raise on deleting without rev' do + keyring.create 'type', 'value' + assert_raises Keyring::Error do + keyring.delete 'type', rev: nil + end + assert_equal 'value', keyring.key_of_type('type')['value'] + end + + test 'raise on deleting with wrong rev' do + keyring.create 'type', 'value' + assert_raises Keyring::Error do + keyring.delete 'type', rev: 'wrong rev' + end + assert_equal 'value', keyring.key_of_type('type')['value'] + end + protected @@ -54,6 +90,10 @@ class KeyringTest < ActiveSupport::TestCase self end + def dummy.delete_key(type) + self.delete(type) + end + def dummy.save; end end end -- cgit v1.2.3