From 9aaa66e7c62f49e0ed51b70964ed49eedbabb0d1 Mon Sep 17 00:00:00 2001 From: Anton Chuchkalov Date: Tue, 15 Dec 2015 15:49:23 +0300 Subject: [PATCH] finish provider_account connector spec --- .../db/mongo/connectors/provider_account.rb | 2 +- .../provider_accounts_connector_spec.rb | 27 +++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/devops-service/db/mongo/connectors/provider_account.rb b/devops-service/db/mongo/connectors/provider_account.rb index 5d51558..931f99f 100644 --- a/devops-service/db/mongo/connectors/provider_account.rb +++ b/devops-service/db/mongo/connectors/provider_account.rb @@ -16,7 +16,7 @@ module Connectors def provider_account provider, account c = Provider::ProviderFactory.get_account_class(provider) 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) end diff --git a/devops-service/spec/connectors/provider_accounts_connector_spec.rb b/devops-service/spec/connectors/provider_accounts_connector_spec.rb index 994ca89..2500179 100644 --- a/devops-service/spec/connectors/provider_accounts_connector_spec.rb +++ b/devops-service/spec/connectors/provider_accounts_connector_spec.rb @@ -15,8 +15,8 @@ RSpec.describe Connectors::ProviderAccount, type: :connector do describe '#provider_accounts', cleanup_after: :all do before(:all) do - @tester_connector.create(account_name: 'foo', provider: 'ec2') - @tester_connector.create(account_name: 'bar', provider: 'openstack') + @tester_connector.create(id: 'foo', provider: 'ec2') + @tester_connector.create(id: 'bar', provider: 'openstack') end it 'returns array of Ec2ProviderAccount if @provider is ec2' do @@ -32,4 +32,27 @@ RSpec.describe Connectors::ProviderAccount, type: :connector do 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