finish provider_account connector spec

This commit is contained in:
Anton Chuchkalov 2015-12-15 15:49:23 +03:00
parent ba25c41082
commit 9aaa66e7c6
2 changed files with 26 additions and 3 deletions

View File

@ -16,7 +16,7 @@ module Connectors
def provider_account provider, account def provider_account provider, account
c = Provider::ProviderFactory.get_account_class(provider) c = Provider::ProviderFactory.get_account_class(provider)
bson = collection.find({provider: provider, _id: account}).to_a.first bson = collection.find({provider: provider, _id: account}).to_a.first
raise RecordNotFound.new("'Account #{account}' for provider '#{provider}' not found") unless bson raise RecordNotFound.new("Account '#{account}' for provider '#{provider}' not found") unless bson
c.build_from_bson(bson) c.build_from_bson(bson)
end end

View File

@ -15,8 +15,8 @@ RSpec.describe Connectors::ProviderAccount, type: :connector do
describe '#provider_accounts', cleanup_after: :all do describe '#provider_accounts', cleanup_after: :all do
before(:all) do before(:all) do
@tester_connector.create(account_name: 'foo', provider: 'ec2') @tester_connector.create(id: 'foo', provider: 'ec2')
@tester_connector.create(account_name: 'bar', provider: 'openstack') @tester_connector.create(id: 'bar', provider: 'openstack')
end end
it 'returns array of Ec2ProviderAccount if @provider is ec2' do it 'returns array of Ec2ProviderAccount if @provider is ec2' do
@ -32,4 +32,27 @@ RSpec.describe Connectors::ProviderAccount, type: :connector do
end end
end end
describe '#provider_account', cleanup_after: :all do
before(:all) do
@tester_connector.create(id: 'foo', provider: 'ec2')
@tester_connector.create(id: 'bar', provider: 'openstack')
end
it 'returns ec2 provider account' do
acc = @connector.provider_account('ec2', 'foo')
expect(acc).to be_a(Devops::Model::Ec2ProviderAccount)
expect(acc.account_name).to eq 'foo'
end
it 'returns openstack provider account' do
acc = @connector.provider_account('openstack', 'bar')
expect(acc).to be_a(Devops::Model::OpenstackProviderAccount)
expect(acc.account_name).to eq 'bar'
end
it 'raises error if account is missing' do
expect{@connector.provider_account('ec2', 'missing')}.to raise_error(RecordNotFound)
end
end
end end