X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=blobdiff_plain;f=3rdparty%2Fmodules%2Fkeystone%2Fspec%2Funit%2Fprovider%2Fkeystone_service%2Fopenstack_spec.rb;fp=3rdparty%2Fmodules%2Fkeystone%2Fspec%2Funit%2Fprovider%2Fkeystone_service%2Fopenstack_spec.rb;h=5a299a5b4746a5ded9cc7d36b46962fe177d2225;hp=5b9814f9107911d50bf1975a82977ba853311ff9;hb=71a236efd9f45828d875a0a5fd025108bb1dcada;hpb=52e13a709b5b959cd8995e7fa4f1b226bbe13a87 diff --git a/3rdparty/modules/keystone/spec/unit/provider/keystone_service/openstack_spec.rb b/3rdparty/modules/keystone/spec/unit/provider/keystone_service/openstack_spec.rb index 5b9814f9..5a299a5b 100644 --- a/3rdparty/modules/keystone/spec/unit/provider/keystone_service/openstack_spec.rb +++ b/3rdparty/modules/keystone/spec/unit/provider/keystone_service/openstack_spec.rb @@ -6,7 +6,14 @@ provider_class = Puppet::Type.type(:keystone_service).provider(:openstack) describe provider_class do - describe 'when creating a service' do + shared_examples 'authenticated with environment variables' do + ENV['OS_USERNAME'] = 'test' + ENV['OS_PASSWORD'] = 'abc123' + ENV['OS_PROJECT_NAME'] = 'test' + ENV['OS_AUTH_URL'] = 'http://127.0.0.1:35357/v2.0' + end + + describe 'when managing a service' do let(:service_attrs) do { @@ -14,12 +21,6 @@ describe provider_class do :description => 'foo', :ensure => 'present', :type => 'foo', - :auth => { - 'username' => 'test', - 'password' => 'abc123', - 'tenant_name' => 'foo', - 'auth_url' => 'http://127.0.0.1:5000/v2.0', - } } end @@ -31,78 +32,62 @@ describe provider_class do provider_class.new(resource) end - describe '#create' do - it 'creates a service' do - provider.class.stubs(:openstack) - .with('service', 'list', '--quiet', '--format', 'csv', [['--long', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - .returns('"ID","Name","Type","Description" + it_behaves_like 'authenticated with environment variables' do + describe '#create' do + it 'creates a service' do + provider.class.stubs(:openstack) + .with('service', 'list', '--quiet', '--format', 'csv', '--long') + .returns('"ID","Name","Type","Description" "1cb05cfed7c24279be884ba4f6520262","foo","foo","foo" ') - provider.class.stubs(:openstack) - .with('service', 'create', '--format', 'shell', [['foo', '--description', 'foo', '--type', 'foo', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - .returns('description="foo" + provider.class.stubs(:openstack) + .with('service', 'create', '--format', 'shell', ['--description', 'foo', '--type', 'foo', 'foo']) + .returns('description="foo" enabled="True" id="8f0dd4c0abc44240998fbb3f5089ecbf" name="foo" type="foo" ') - provider.create - expect(provider.exists?).to be_truthy - end - end - - describe '#destroy' do - it 'destroys a service' do - provider.class.stubs(:openstack) - .with('service', 'list', '--quiet', '--format', 'csv', [['--long', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - .returns('"ID","Name","Type","Description"') - provider.class.stubs(:openstack) - .with('service', 'delete', [['foo', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - provider.destroy - expect(provider.exists?).to be_falsey + provider.create + expect(provider.exists?).to be_truthy + end end - end - - describe '#exists' do - context 'when service exists' do - - subject(:response) do + describe '#destroy' do + it 'destroys a service' do provider.class.stubs(:openstack) - .with('service', 'list', '--quiet', '--format', 'csv', [['--long', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) + .with('service', 'list', '--quiet', '--format', 'csv', '--long') .returns('"ID","Name","Type","Description" "1cb05cfed7c24279be884ba4f6520262","foo","foo","foo" ') - response = provider.exists? - end - - it { is_expected.to be_truthy } - end - - context 'when service does not exist' do - - subject(:response) do provider.class.stubs(:openstack) - .with('service', 'list', '--quiet', '--format', 'csv', [['--long', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - .returns('"ID","Name","Type","Description"') - response = provider.exists? + .with('service', 'delete', []) + provider.destroy + expect(provider.exists?).to be_falsey end - it { is_expected.to be_falsey } + context 'when service does not exist' do + subject(:response) do + provider.class.stubs(:openstack) + .with('service', 'list', '--quiet', '--format', 'csv', '--long') + .returns('"ID","Name","Type","Description"') + response = provider.exists? + end + it { is_expected.to be_falsey } + end end - end - describe '#instances' do - it 'finds every service' do - provider.class.stubs(:openstack) - .with('service', 'list', '--quiet', '--format', 'csv', [['--long', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - .returns('"ID","Name","Type","Description" -"1cb05cfed7c24279be884ba4f6520262","foo","foo","foo" + describe '#instances' do + it 'finds every service' do + provider.class.stubs(:openstack) + .with('service', 'list', '--quiet', '--format', 'csv', '--long') + .returns('"ID","Name","Type","Description" +"8f0dd4c0abc44240998fbb3f5089ecbf","foo","foo","foo" ') - instances = provider.instances - expect(instances.count).to eq(1) + instances = Puppet::Type::Keystone_service::ProviderOpenstack.instances + expect(instances.count).to eq(1) + end end end - end end