63 lines
1.8 KiB
Ruby
63 lines
1.8 KiB
Ruby
|
|
require 'db/mongo/connectors/key'
|
||
|
|
require 'db/mongo/models/key'
|
||
|
|
require 'spec/connectors/tester_connector/key'
|
||
|
|
require_relative 'shared_connectors_context'
|
||
|
|
|
||
|
|
RSpec.describe Connectors::Key, type: :connector do
|
||
|
|
set_tester_connector TesterConnector::Key
|
||
|
|
include_context 'connectors'
|
||
|
|
let(:model_class) { Devops::Model::Key }
|
||
|
|
|
||
|
|
include_examples 'mongo connector', model_name: :key, only: [:insert, :list]
|
||
|
|
|
||
|
|
describe '#key' do
|
||
|
|
context 'when scope was passed' do
|
||
|
|
subject { @connector.key('foo') }
|
||
|
|
|
||
|
|
it 'raises RecordNotFound when there is no such record' do
|
||
|
|
expect { subject }.to raise_error(RecordNotFound)
|
||
|
|
end
|
||
|
|
|
||
|
|
it 'returns record if was found' do
|
||
|
|
@tester_connector.create(id: 'foo') do
|
||
|
|
expect(subject).to be_an_instance_of(model_class)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
context 'when scope was passed' do
|
||
|
|
subject { @connector.key('foo', 'user') }
|
||
|
|
|
||
|
|
it 'raises RecordNotFound when there is no such record' do
|
||
|
|
expect { subject }.to raise_error(RecordNotFound)
|
||
|
|
end
|
||
|
|
|
||
|
|
it 'returns record if was found' do
|
||
|
|
@tester_connector.create(id: 'foo', scope: 'user') do
|
||
|
|
expect(subject).to be_an_instance_of(model_class)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
describe '#key_delete' do
|
||
|
|
subject { @connector.key_delete('foo') }
|
||
|
|
|
||
|
|
it 'raises RecordNotFound if there is no such record' do
|
||
|
|
expect{ subject }.to raise_error(RecordNotFound)
|
||
|
|
end
|
||
|
|
|
||
|
|
it 'remove key in "user" scope' do
|
||
|
|
@tester_connector.create(id: 'foo', scope: 'user')
|
||
|
|
subject
|
||
|
|
expect(@tester_connector.list).to eq []
|
||
|
|
end
|
||
|
|
|
||
|
|
it "doesn't remove key in 'system' scope" do
|
||
|
|
@tester_connector.create(id: 'foo', scope: 'system') do
|
||
|
|
expect {subject}.to raise_error RecordNotFound
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|