diff options
author | Sean E. Millichamp <sean@bruenor.org> | 2008-10-07 11:13:03 -0400 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2008-10-08 13:56:10 +1100 |
commit | 2ebd34ecca413393b2619f8400d2046fa2ca6d9b (patch) | |
tree | 18a0c2c9f0bbd98701f21565f711c7317d5e93f5 | |
parent | 4df51eaca0770618d5593c4a07eb9529077da114 (diff) | |
download | puppet-2ebd34ecca413393b2619f8400d2046fa2ca6d9b.tar.gz puppet-2ebd34ecca413393b2619f8400d2046fa2ca6d9b.tar.xz puppet-2ebd34ecca413393b2619f8400d2046fa2ca6d9b.zip |
Rewrote seboolean unit tests to provide better coverage
-rw-r--r-- | spec/unit/provider/selboolean.rb | 38 | ||||
-rw-r--r-- | spec/unit/type/selboolean.rb | 41 |
2 files changed, 79 insertions, 0 deletions
diff --git a/spec/unit/provider/selboolean.rb b/spec/unit/provider/selboolean.rb new file mode 100644 index 000000000..8fd97a6b1 --- /dev/null +++ b/spec/unit/provider/selboolean.rb @@ -0,0 +1,38 @@ +#!/usr/bin/env ruby + +Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") } + +provider_class = Puppet::Type.type(:selboolean).provider(:getsetsebool) + +describe provider_class do + before :each do + @resource = stub("resource", :name => "foo") + @resource.stubs(:[]).returns "foo" + @provider = provider_class.new(@resource) + end + + it "should return :on when getsebool returns on" do + @resource.stubs(:[]).returns "foo" + @provider.expects(:getsebool).with("foo").returns "foo --> on\n" + @provider.value.should == :on + end + + it "should return :off when getsebool returns on" do + @resource.stubs(:[]).returns "foo" + @provider.expects(:getsebool).with("foo").returns "foo --> off\n" + @provider.value.should == :off + end + + it "should call execpipe when updating boolean setting" do + @provider.expects(:execpipe).with("/usr/sbin/setsebool foo off") + @provider.value = :off + end + + it "should call execpipe with -P when updating persistent boolean setting" do + @resource.stubs(:[]).returns "foo" + @resource.stubs(:[]).with(:persistent).returns :true + @provider.expects(:execpipe).with("/usr/sbin/setsebool -P foo off") + @provider.value = :off + end + +end diff --git a/spec/unit/type/selboolean.rb b/spec/unit/type/selboolean.rb new file mode 100644 index 000000000..80d6d645b --- /dev/null +++ b/spec/unit/type/selboolean.rb @@ -0,0 +1,41 @@ +#!/usr/bin/env ruby + +Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") } + +describe Puppet::Type.type(:selboolean), "when validating attributes" do + [:name, :persistent].each do |param| + it "should have a #{param} parameter" do + Puppet::Type.type(:selboolean).attrtype(param).should == :param + end + end + + it "should have a value property" do + Puppet::Type.type(:selboolean).attrtype(:value).should == :property + end +end + +describe Puppet::Type.type(:selboolean), "when validating values" do + before do + @provider = stub 'provider', :class => Puppet::Type.type(:selboolean).defaultprovider, :clear => nil + Puppet::Type.type(:selboolean).defaultprovider.expects(:new).returns(@provider) + end + + it "should support :on as a value to :value" do + Puppet::Type.type(:selboolean).create(:name => "yay", :value => :on) + end + + it "should support :off as a value to :value" do + Puppet::Type.type(:selboolean).create(:name => "yay", :value => :off) + end + + it "should support :true as a value to :persistent" do + Puppet::Type.type(:selboolean).create(:name => "yay", :value => :on, :persistent => :true) + end + + it "should support :false as a value to :persistent" do + Puppet::Type.type(:selboolean).create(:name => "yay", :value => :on, :persistent => :false) + end + + after { Puppet::Type.type(:selboolean).clear } +end + |