41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | require 'db/mongo/connectors/stack_template' | ||
|  | require 'spec/connectors/tester_connector/stack_template' | ||
|  | 
 | ||
|  | RSpec.describe Connectors::StackTemplate, type: :connector do | ||
|  |   set_tester_connector TesterConnector::StackTemplate | ||
|  |   let(:model_class) { Devops::Model::StackTemplateEc2 } | ||
|  | 
 | ||
|  |   include_examples 'mongo connector', { | ||
|  |     model_name: :stack_template, | ||
|  |     factory_name: :stack_template_ec2, | ||
|  |     only: [:insert, :show, :update, :delete], | ||
|  |     field_to_update: :owner | ||
|  |   } | ||
|  | 
 | ||
|  |   describe '#stack_templates' do | ||
|  |     subject { @connector.stack_templates('ec2') } | ||
|  | 
 | ||
|  |     it 'should be empty if collection is empty' do | ||
|  |       expect(subject).to eq [] | ||
|  |     end | ||
|  | 
 | ||
|  |     it "returns array of stack_templates of given provider" do | ||
|  |       @tester_connector.create(provider: 'ec2') | ||
|  |       @tester_connector.create(provider: 'openstack') | ||
|  |       expect(subject).to be_a(Array) | ||
|  |       expect(subject.length).to eq 1
 | ||
|  |       expect(subject.first).to be_an_instance_of(model_class) | ||
|  |       expect(subject.first.provider).to eq 'ec2' | ||
|  |       @tester_connector.cleanup | ||
|  |     end | ||
|  | 
 | ||
|  |     it 'returns stack_templates for both providers if is is unset' do | ||
|  |       @tester_connector.create(provider: 'ec2') | ||
|  |       @tester_connector.create(provider: 'openstack') | ||
|  |       expect(@connector.stack_templates.length).to eq 2
 | ||
|  |       @tester_connector.cleanup | ||
|  |     end | ||
|  |   end | ||
|  | 
 | ||
|  | end |