diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2014-08-20 10:50:08 -0700 |
---|---|---|
committer | Bryan McLellan <btm@loftninjas.org> | 2014-08-29 07:58:44 -0400 |
commit | 46d24260cb665f8c4dce1dfc4c2f592f1367ad18 (patch) | |
tree | 0a75fad95c612a01203281212b155f7d9b2128f5 | |
parent | 70bf394d094fbc30f8e8ffe79574c11d2508d585 (diff) | |
download | chef-46d24260cb665f8c4dce1dfc4c2f592f1367ad18.tar.gz |
add checks for partial matches in enable/disable
-rw-r--r-- | spec/unit/provider/service/freebsd_service_spec.rb | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/spec/unit/provider/service/freebsd_service_spec.rb b/spec/unit/provider/service/freebsd_service_spec.rb index 4339adfe04..73dbc47ef4 100644 --- a/spec/unit/provider/service/freebsd_service_spec.rb +++ b/spec/unit/provider/service/freebsd_service_spec.rb @@ -531,6 +531,13 @@ EOF provider.enable_service() end + it "should not partial match an already enabled service" do + allow(current_resource).to receive(:enabled).and_return(false) + expect(provider).to receive(:read_rc_conf).and_return([ "foo", "thing_#{new_resource.service_name}_enable=\"NO\"", "bar" ]) + expect(provider).to receive(:write_rc_conf).with(["foo", "thing_#{new_resource.service_name}_enable=\"NO\"", "bar", "#{new_resource.service_name}_enable=\"YES\""]) + provider.enable_service() + end + it "should enable the service if it is not enabled and not already specified in the rc.conf file" do allow(current_resource).to receive(:enabled).and_return(false) expect(provider).to receive(:read_rc_conf).and_return([ "foo", "bar" ]) @@ -551,13 +558,20 @@ EOF allow(provider).to receive(:service_enable_variable_name).and_return("#{new_resource.service_name}_enable") end - it "should should disable the service if it is not disabled" do + it "should disable the service if it is not disabled" do allow(current_resource).to receive(:enabled).and_return(true) expect(provider).to receive(:read_rc_conf).and_return([ "foo", "#{new_resource.service_name}_enable=\"YES\"", "bar" ]) expect(provider).to receive(:write_rc_conf).with(["foo", "bar", "#{new_resource.service_name}_enable=\"NO\""]) provider.disable_service() end + it "should not disable an enabled service that partially matches" do + allow(current_resource).to receive(:enabled).and_return(true) + expect(provider).to receive(:read_rc_conf).and_return([ "foo", "thing_#{new_resource.service_name}_enable=\"YES\"", "bar" ]) + expect(provider).to receive(:write_rc_conf).with(["foo", "thing_#{new_resource.service_name}_enable=\"YES\"", "bar", "#{new_resource.service_name}_enable=\"NO\""]) + provider.disable_service() + end + it "should not disable the service if it is already disabled" do allow(current_resource).to receive(:enabled).and_return(false) expect(provider).not_to receive(:write_rc_conf) |