require 'db/mongo/models/deploy_env/deploy_env_openstack' require_relative 'shared_deploy_env_specs' require_relative 'shared_cloud_deploy_env_specs' RSpec.describe Devops::Model::DeployEnvOpenstack, type: :model do let(:env) { build(:deploy_env_openstack) } describe 'it inherits from cloud deploy_env', stubbed_connector: true, stubbed_logger: true do 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 it_behaves_like 'deploy env' it_behaves_like 'cloud deploy env' end 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