43 lines
1.4 KiB
Ruby
43 lines
1.4 KiB
Ruby
|
|
require 'db/mongo/connectors/stack_template'
|
||
|
|
require 'spec/connectors/tester_connector/stack_template'
|
||
|
|
require_relative 'shared_connectors_context'
|
||
|
|
|
||
|
|
RSpec.describe Connectors::StackTemplate, type: :connector do
|
||
|
|
set_tester_connector TesterConnector::StackTemplate
|
||
|
|
include_context 'connectors'
|
||
|
|
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
|