59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 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
 | |
|       @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
 | |
| 
 | |
|   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
 | 
