summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean E. Millichamp <sean@bruenor.org>2008-10-07 11:13:03 -0400
committerJames Turnbull <james@lovedthanlost.net>2008-10-08 13:56:10 +1100
commit2ebd34ecca413393b2619f8400d2046fa2ca6d9b (patch)
tree18a0c2c9f0bbd98701f21565f711c7317d5e93f5
parent4df51eaca0770618d5593c4a07eb9529077da114 (diff)
downloadpuppet-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.rb38
-rw-r--r--spec/unit/type/selboolean.rb41
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
+