fluke/devops-service/spec/connectors/provider_accounts_connector_spec.rb

59 lines
2.0 KiB
Ruby
Raw Normal View History

require 'db/mongo/models/provider_accounts/ec2_provider_account'
require 'db/mongo/models/provider_accounts/openstack_provider_account'
require 'db/mongo/connectors/provider_account'
require 'spec/connectors/tester_connector/provider_account'
RSpec.describe Connectors::ProviderAccount, type: :connector do
set_tester_connector TesterConnector::ProviderAccount
include_examples 'mongo connector', {
model_name: :provider_account,
factory_name: :ec2_provider_account,
only: [:insert, :delete],
field_to_update: :description
}
describe '#provider_accounts', cleanup_after: :all do
before(:all) do
2015-12-15 15:49:23 +03:00
@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
expect(
@connector.provider_accounts('ec2')
).to be_an_array_of(Devops::Model::Ec2ProviderAccount).and have_size(1)
end
it 'returns array of Ec2ProviderAccount if @provider is openstack' do
expect(
@connector.provider_accounts('openstack')
).to be_an_array_of(Devops::Model::OpenstackProviderAccount).and have_size(1)
end
end
2015-12-15 15:49:23 +03:00
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