summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2014-08-20 10:50:08 -0700
committerBryan McLellan <btm@loftninjas.org>2014-08-29 07:58:44 -0400
commit46d24260cb665f8c4dce1dfc4c2f592f1367ad18 (patch)
tree0a75fad95c612a01203281212b155f7d9b2128f5
parent70bf394d094fbc30f8e8ffe79574c11d2508d585 (diff)
downloadchef-46d24260cb665f8c4dce1dfc4c2f592f1367ad18.tar.gz
add checks for partial matches in enable/disable
-rw-r--r--spec/unit/provider/service/freebsd_service_spec.rb16
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)