Update rabbitmq module
[mirror/dsa-puppet.git] / 3rdparty / modules / rabbitmq / spec / acceptance / policy_spec.rb
index 26858ec..91161a4 100644 (file)
@@ -1,18 +1,16 @@
 require 'spec_helper_acceptance'
 
 describe 'rabbitmq policy on a vhost:' do
-
-
-  context "create policy resource" do
-    it 'should run successfully' do
+  context 'create policy resource' do
+    it 'runs successfully' do
       pp = <<-EOS
-      if $::osfamily == 'RedHat' {
+      if $facts['os']['family'] == 'RedHat' {
         class { 'erlang': epel_enable => true }
-        Class['erlang'] -> Class['::rabbitmq']
+        Class['erlang'] -> Class['rabbitmq']
       }
-      class { '::rabbitmq':
+      class { 'rabbitmq':
         service_manage    => true,
-        port              => '5672',
+        port              => 5672,
         delete_guest_user => true,
         admin_enable      => true,
       } ->
@@ -30,18 +28,33 @@ describe 'rabbitmq policy on a vhost:' do
           'ha-sync-mode' => 'automatic',
         },
       }
+
+      rabbitmq_policy { 'eu-federation@myhost':
+        pattern    => '^eu\\.',
+        priority   => 0,
+        applyto    => 'all',
+        definition => {
+          'federation-upstream-set' => 'all',
+        },
+      }
       EOS
 
-      apply_manifest(pp, :catch_failures => true)
-      apply_manifest(pp, :catch_changes => true)
+      apply_manifest(pp, catch_failures: true)
+      apply_manifest(pp, catch_changes: true)
+
+      # Apply twice to ensure no changes the second time.
+      apply_manifest(pp, catch_failures: true)
+      expect(apply_manifest(pp, catch_changes: true).exit_code).to be_zero
     end
 
-    it 'should have the policy' do
+    # rubocop:disable RSpec/MultipleExpectations
+    it 'has the policy' do
       shell('rabbitmqctl list_policies -p myhost') do |r|
-        expect(r.stdout).to match(/myhost.*ha-all.*ha-sync-mode/)
+        expect(r.stdout).to match(%r{myhost.*ha-all.*ha-sync-mode})
+        expect(r.stdout).to match(%r{myhost.*eu-federation})
         expect(r.exit_code).to be_zero
       end
     end
-
+    # rubocop:enable RSpec/MultipleExpectations
   end
 end