spec/keychain_spec.rb in ruby-keychain-0.2.1 vs spec/keychain_spec.rb in ruby-keychain-0.3.0
- old
+ new
@@ -55,9 +55,31 @@
Keychain.create('akeychain')
end
end
end
+ describe 'import' do
+ before(:all) do
+ @keychain = Keychain.create(File.join(Dir.tmpdir, "keychain_spec_#{Time.now.to_i}_#{Time.now.usec}_#{rand(1000)}.keychain"), 'pass')
+ @rsa_key = OpenSSL::PKey::RSA.new(2048).to_s
+ end
+
+ it 'should import item to the keychain' do
+ imported_key = @keychain.import(@rsa_key, ['/usr/bin/codesign']).first
+ imported_key.load_attributes
+ found_key = Keychain::Scope.new(Sec::Classes::KEY, @keychain).all.first
+ expect(imported_key.attributes).to eq(found_key.attributes)
+ end
+
+ it 'should raise an exception for duplicated item' do
+ expect { @keychain.import(@rsa_key) }.to raise_error(Keychain::DuplicateItemError)
+ end
+
+ after(:all) do
+ @keychain.delete
+ end
+ end
+
describe 'exists?' do
context 'the keychain exists' do
it 'should return true' do
expect(Keychain.default.exists?).to be_truthy
end
\ No newline at end of file