2015-11-03 11:46:54 +03:00
|
|
|
require 'db/mongo/models/deploy_env/deploy_env_openstack'
|
2015-12-10 01:24:23 +03:00
|
|
|
require_relative 'shared_deploy_env_specs'
|
|
|
|
|
require_relative 'shared_cloud_deploy_env_specs'
|
2015-11-03 11:46:54 +03:00
|
|
|
|
|
|
|
|
RSpec.describe Devops::Model::DeployEnvOpenstack, type: :model do
|
|
|
|
|
let(:env) { build(:deploy_env_openstack) }
|
|
|
|
|
|
2016-01-21 20:46:15 +03:00
|
|
|
describe 'it inherits from cloud deploy_env', stubbed_connector: true, stubbed_logger: true do
|
2016-01-20 17:47:07 +03:00
|
|
|
before do
|
|
|
|
|
provider_double = instance_double('Provider::Openstack',
|
|
|
|
|
flavors: [{'id' => 'flavor'}],
|
|
|
|
|
networks: [{'default' => {'vpcId' => 'foo'}}],
|
|
|
|
|
groups: {'default' => nil},
|
|
|
|
|
images: [{'id' => 'image'}]
|
|
|
|
|
)
|
|
|
|
|
allow(Provider::ProviderFactory).to receive(:providers) { %w(openstack) }
|
|
|
|
|
allow(Provider::ProviderFactory).to receive(:get) { provider_double }
|
|
|
|
|
allow(stubbed_connector).to receive(:users_names) { %w(root) }
|
|
|
|
|
allow(stubbed_connector).to receive(:available_images) { %w(image) }
|
|
|
|
|
allow(stubbed_connector).to receive(:stack_templates) { [build(:stack_template_openstack, id: 'template')] }
|
|
|
|
|
end
|
|
|
|
|
|
2015-12-10 01:24:23 +03:00
|
|
|
it_behaves_like 'deploy env'
|
|
|
|
|
it_behaves_like 'cloud deploy env'
|
|
|
|
|
end
|
2015-11-03 11:46:54 +03:00
|
|
|
|
|
|
|
|
describe '.create' do
|
|
|
|
|
it 'returns instance of DeployEnvOpenstack' do
|
|
|
|
|
expect(described_class.create({})).to be_an_instance_of(described_class)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe '#subnets_filter' do
|
|
|
|
|
it 'always returns nil' do
|
|
|
|
|
expect(env.subnets_filter).to be nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|