fluke/devops-service/spec/models/deploy_env/deploy_env_ec2_spec.rb
Tim Lianov 0fe1218731 Revert "Merge branch 'qa' into release"
This reverts commit 49ba7a8b0d, reversing
changes made to eb753df4c9.
2016-01-21 12:10:36 -05:00

50 lines
1.4 KiB
Ruby

require 'db/mongo/models/deploy_env/deploy_env_ec2'
require_relative '../shared_models_context'
RSpec.describe Devops::Model::DeployEnvEc2, type: :model do
let(:env) { build(:deploy_env_ec2) }
include_context 'stubbed calls to connector in env validators'
it_behaves_like 'deploy env'
it_behaves_like 'cloud deploy env'
describe '#initialize' do
it 'keep only first subnet in given array' do
env = described_class.new('subnets' => %w(foo bar))
expect(env.subnets).to match_array(%w(foo))
end
end
describe '.create' do
it 'returns instance of DeployEnvEc2' do
expect(described_class.create({})).to be_an_instance_of(described_class)
end
end
describe '#subnets_filter' do
before do
allow_any_instance_of(described_class).to receive_message_chain('provider_instance.networks') {
[{'name' => 'foo', 'vpcId' => 'bar'}]
}
end
it 'returns nil if #subnets are empty' do
expect(build(:deploy_env_ec2, subnets: []).subnets_filter).to be_nil
end
context "when provider has env's network" do
it 'returns hash with vpcId of that network' do
env = build(:deploy_env_ec2, subnets: ['foo'])
expect(env.subnets_filter).to eq({'vpc-id' => 'bar'})
end
end
context "when provider hasn't env's network" do
it 'returns nil' do
env = build(:deploy_env_ec2, subnets: ['wrong'])
expect(env.subnets_filter).to be nil
end
end
end
end