X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fkeystone%2Fspec%2Funit%2Fprovider%2Fkeystone_user_role%2Fopenstack_spec.rb;h=2490adc52be37d08f0aa3d78cb3fc55f3692d98e;hb=71a236efd9f45828d875a0a5fd025108bb1dcada;hp=f3c35dcf668cc6f5492fd868af5b899091af8287;hpb=4631045ebb77ee8622f6fa09277a50c372bcc02e;p=dsa-puppet.git diff --git a/3rdparty/modules/keystone/spec/unit/provider/keystone_user_role/openstack_spec.rb b/3rdparty/modules/keystone/spec/unit/provider/keystone_user_role/openstack_spec.rb index f3c35dcf..2490adc5 100644 --- a/3rdparty/modules/keystone/spec/unit/provider/keystone_user_role/openstack_spec.rb +++ b/3rdparty/modules/keystone/spec/unit/provider/keystone_user_role/openstack_spec.rb @@ -6,89 +6,84 @@ provider_class = Puppet::Type.type(:keystone_user_role).provider(:openstack) describe provider_class do - describe 'when updating a user\'s role' 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:5000' + end - let(:user_role_attrs) do - { - :name => 'foo@example.com@foo', - :ensure => 'present', - :roles => ['foo', 'bar'], - :auth => { - 'username' => 'test', - 'password' => 'abc123', - 'tenant_name' => 'foo', - 'auth_url' => 'http://127.0.0.1:5000/v2.0', + describe 'when updating a user\'s role' do + it_behaves_like 'authenticated with environment variables' do + let(:user_role_attrs) do + { + :name => 'foo@foo', + :ensure => 'present', + :roles => ['foo', 'bar'], } - } - end - - let(:resource) do - Puppet::Type::Keystone_user_role.new(user_role_attrs) - end + end - let(:provider) do - provider_class.new(resource) - end + let(:resource) do + Puppet::Type::Keystone_user_role.new(user_role_attrs) + end - before(:each) do - provider.class.stubs(:openstack) - .with('user', 'list', '--quiet', '--format', 'csv', [['--project', 'foo', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - .returns('"ID","Name" -"1cb05cfed7c24279be884ba4f6520262","foo@example.com" -') - provider.class.stubs(:openstack) - .with('project', 'list', '--quiet', '--format', 'csv', [['--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - .returns('"ID","Name" -"1cb05cfed7c24279be884ba4f6520262","foo" -') - end + let(:provider) do + provider_class.new(resource) + end - describe '#create' do - it 'adds all the roles to the user' do + before(:each) do provider.class.stubs(:openstack) - .with('user role', 'list', '--quiet', '--format', 'csv', [['--project', 'foo', 'foo@example.com', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) + .with('user', 'list', '--quiet', '--format', 'csv', ['foo', '--project', 'foo']) .returns('"ID","Name","Project","User" -"1cb05cfed7c24279be884ba4f6520262","foo","foo","foo@example.com" -"1cb05cfed7c24279be884ba4f6520263","bar","foo","foo@example.com" +"1cb05cfed7c24279be884ba4f6520262","foo","foo","foo" ') - provider.class.stubs(:openstack) - .with('role', 'add', [['foo', '--project', 'foo', '--user', 'foo@example.com', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - provider.class.stubs(:openstack) - .with('role', 'add', [['bar', '--project', 'foo', '--user', 'foo@example.com', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - provider.create - expect(provider.exists?).to be_truthy end - end - describe '#destroy' do - it 'removes all the roles from a user' do - provider.class.stubs(:openstack) - .with('user role', 'list', '--quiet', '--format', 'csv', [['--project', 'foo', 'foo@example.com', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - .returns('"ID","Name","Project","User"') - provider.class.stubs(:openstack) - .with('role', 'remove', [['foo', '--project', 'foo', '--user', 'foo@example.com', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - provider.class.stubs(:openstack) - .with('role', 'remove', [['bar', '--project', 'foo', '--user', 'foo@example.com', '--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 + describe '#create' do + it 'adds all the roles to the user' do + provider.class.stubs(:openstack) + .with('role', 'add', ['foo', '--project', 'foo', '--user', 'foo']) + provider.class.stubs(:openstack) + .with('role', 'add', ['bar', '--project', 'foo', '--user', 'foo']) + provider.class.stubs(:openstack) + .with('user role', 'list', '--quiet', '--format', 'csv', ['foo', '--project', 'foo']) + .returns('"ID","Name","Project","User" +"1cb05ed7c24279be884ba4f6520262","foo","foo","foo" +"2cb05ed7c24279be884ba4f6520262","bar","foo","foo" +') + provider.create + expect(provider.exists?).to be_truthy + end end - end + describe '#destroy' do + it 'removes all the roles from a user' do + provider.class.stubs(:openstack) + .with('user role', 'list', '--quiet', '--format', 'csv', ['foo', '--project', 'foo']) + .returns('"ID","Name","Project","User"') + provider.class.stubs(:openstack) + .with('role', 'remove', ['foo', '--project', 'foo', '--user', 'foo']) + provider.class.stubs(:openstack) + .with('role', 'remove', ['bar', '--project', 'foo', '--user', 'foo']) + provider.destroy + expect(provider.exists?).to be_falsey + end - describe '#exists' do - subject(:response) do - provider.class.stubs(:openstack) - .with('user role', 'list', '--quiet', '--format', 'csv', [['--project', 'foo', 'foo@example.com', '--os-username', 'test', '--os-password', 'abc123', '--os-tenant-name', 'foo', '--os-auth-url', 'http://127.0.0.1:5000/v2.0']]) - .returns('"ID","Name","Project","User" -"1cb05ed7c24279be884ba4f6520262","foo","foo","foo@example.com" -"1cb05ed7c24279be884ba4f6520262","bar","foo","foo@example.com" -') - response = provider.exists? end - it { is_expected.to be_truthy } + describe '#exists' do + subject(:response) do + provider.class.stubs(:openstack) + .with('user role', 'list', '--quiet', '--format', 'csv', ['foo', '--project', 'foo']) + .returns('"ID","Name","Project","User" +"1cb05ed7c24279be884ba4f6520262","foo","foo","foo" +') + response = provider.exists? + end - end + it { is_expected.to be_truthy } + end + end end end