]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/keystone/spec/unit/provider/keystone_user_role/openstack_spec.rb
try with modules from master
[dsa-puppet.git] / 3rdparty / modules / keystone / spec / unit / provider / keystone_user_role / openstack_spec.rb
index f3c35dcf668cc6f5492fd868af5b899091af8287..2490adc52be37d08f0aa3d78cb3fc55f3692d98e 100644 (file)
@@ -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