diff options
| -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 + |
