2015-12-10 17:47:36 +03:00
|
|
|
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')
|
2015-12-10 17:47:36 +03:00
|
|
|
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
|
|
|
|
|
|
2015-12-10 17:47:36 +03:00
|
|
|
end
|