diff --git a/spec/helpers/provider.rb b/spec/helpers/provider.rb index 2b6747f..4f29a73 100644 --- a/spec/helpers/provider.rb +++ b/spec/helpers/provider.rb @@ -23,6 +23,25 @@ shared_context "a Pacemaker LWRP" do let (:provider) { @provider_class.new(@resource, @run_context) } end +module Chef::RSpec + module Pacemaker + module CIBObject + def test_modify(expected_cmds) + yield + + stub_shellout(fixture.definition_string) + + provider.run_action :create + + expected_cmds.each do |cmd| + expect(@chef_run).to run_execute(cmd) + end + expect(@resource).to be_updated + end + end + end +end + shared_examples "action on non-existent resource" do |action, cmd, expected_error| include Chef::RSpec::Pacemaker::CIBObject diff --git a/spec/providers/clone_spec.rb b/spec/providers/clone_spec.rb index c89ad29..fb4f4f6 100644 --- a/spec/providers/clone_spec.rb +++ b/spec/providers/clone_spec.rb @@ -30,18 +30,7 @@ describe "Chef::Provider::PacemakerClone" do include Chef::RSpec::Pacemaker::CIBObject describe ":create action" do - def test_modify(expected_cmds) - yield - - stub_shellout(fixture.definition_string) - - provider.run_action :create - - expected_cmds.each do |cmd| - expect(@chef_run).to run_execute(cmd) - end - expect(@resource).to be_updated - end + include Chef::RSpec::Pacemaker::CIBObject it "should modify the clone if the resource is changed" do expected = fixture.dup diff --git a/spec/providers/colocation_spec.rb b/spec/providers/colocation_spec.rb index 2118525..2bd2e2f 100644 --- a/spec/providers/colocation_spec.rb +++ b/spec/providers/colocation_spec.rb @@ -30,18 +30,7 @@ describe "Chef::Provider::PacemakerColocation" do include Chef::RSpec::Pacemaker::CIBObject describe ":create action" do - def test_modify(expected_cmds) - yield - - stub_shellout(fixture.definition_string) - - provider.run_action :create - - expected_cmds.each do |cmd| - expect(@chef_run).to run_execute(cmd) - end - expect(@resource).to be_updated - end + include Chef::RSpec::Pacemaker::CIBObject it "should modify the constraint if it has a different score" do new_score = '100' diff --git a/spec/providers/group_spec.rb b/spec/providers/group_spec.rb index 1bf0503..c6b34b9 100644 --- a/spec/providers/group_spec.rb +++ b/spec/providers/group_spec.rb @@ -30,18 +30,7 @@ describe "Chef::Provider::PacemakerGroup" do include Chef::RSpec::Pacemaker::CIBObject describe ":create action" do - def test_modify(expected_cmds) - yield - - stub_shellout(fixture.definition_string) - - provider.run_action :create - - expected_cmds.each do |cmd| - expect(@chef_run).to run_execute(cmd) - end - expect(@resource).to be_updated - end + include Chef::RSpec::Pacemaker::CIBObject it "should modify the group if it has a member resource added" do expected = fixture.dup diff --git a/spec/providers/location_spec.rb b/spec/providers/location_spec.rb index cd2da5f..7783b0d 100644 --- a/spec/providers/location_spec.rb +++ b/spec/providers/location_spec.rb @@ -30,18 +30,7 @@ describe "Chef::Provider::PacemakerLocation" do include Chef::RSpec::Pacemaker::CIBObject describe ":create action" do - def test_modify(expected_cmds) - yield - - stub_shellout(fixture.definition_string) - - provider.run_action :create - - expected_cmds.each do |cmd| - expect(@chef_run).to run_execute(cmd) - end - expect(@resource).to be_updated - end + include Chef::RSpec::Pacemaker::CIBObject it "should modify the constraint if it has a different resource" do new_resource = 'group2' diff --git a/spec/providers/ms_spec.rb b/spec/providers/ms_spec.rb index b219339..3fdfbbd 100644 --- a/spec/providers/ms_spec.rb +++ b/spec/providers/ms_spec.rb @@ -30,18 +30,7 @@ describe "Chef::Provider::PacemakerMs" do include Chef::RSpec::Pacemaker::CIBObject describe ":create action" do - def test_modify(expected_cmds) - yield - - stub_shellout(fixture.definition_string) - - provider.run_action :create - - expected_cmds.each do |cmd| - expect(@chef_run).to run_execute(cmd) - end - expect(@resource).to be_updated - end + include Chef::RSpec::Pacemaker::CIBObject it "should modify the resource if it's changed" do expected = fixture.dup diff --git a/spec/providers/primitive_spec.rb b/spec/providers/primitive_spec.rb index efa852e..b264fc8 100644 --- a/spec/providers/primitive_spec.rb +++ b/spec/providers/primitive_spec.rb @@ -30,18 +30,7 @@ describe "Chef::Provider::PacemakerPrimitive" do include Chef::RSpec::Pacemaker::CIBObject describe ":create action" do - def test_modify(expected_cmds) - yield - - stub_shellout(fixture.definition_string) - - provider.run_action :create - - expected_cmds.each do |cmd| - expect(@chef_run).to run_execute(cmd) - end - expect(@resource).to be_updated - end + include Chef::RSpec::Pacemaker::CIBObject it "should modify the primitive if it has different params" do expected_configure_cmd_args = [