diff options
author | Michael Scherer <misc@mageia.org> | 2012-01-25 12:39:28 +0000 |
---|---|---|
committer | Michael Scherer <misc@mageia.org> | 2012-01-25 12:39:28 +0000 |
commit | 218d13f6adbeba1b2e837d6cbfa09154eeba2638 (patch) | |
tree | 0eac442f461ae10198cde650acc8adade138814f | |
parent | 19840d1550aaf43af8ab4c08e2fdbb5bec8693bb (diff) | |
download | puppet-218d13f6adbeba1b2e837d6cbfa09154eeba2638.tar puppet-218d13f6adbeba1b2e837d6cbfa09154eeba2638.tar.gz puppet-218d13f6adbeba1b2e837d6cbfa09154eeba2638.tar.bz2 puppet-218d13f6adbeba1b2e837d6cbfa09154eeba2638.tar.xz puppet-218d13f6adbeba1b2e837d6cbfa09154eeba2638.zip |
add non regression testing to facter ( just to have some
examples in place )
-rw-r--r-- | modules/facter/spec/spec_helper.rb | 35 | ||||
-rw-r--r-- | modules/facter/spec/unit/dc_suffix.rb | 15 | ||||
-rw-r--r-- | modules/facter/spec/unit/lib_dir.rb | 23 |
3 files changed, 73 insertions, 0 deletions
diff --git a/modules/facter/spec/spec_helper.rb b/modules/facter/spec/spec_helper.rb new file mode 100644 index 00000000..81d9f79b --- /dev/null +++ b/modules/facter/spec/spec_helper.rb @@ -0,0 +1,35 @@ +# taken from facter source code +# ASL 2.0 +dir = File.expand_path(File.dirname(__FILE__)) + +SPECDIR = dir +$LOAD_PATH.unshift("#{dir}/../lib") + +require 'mocha' +require 'rspec' +require 'facter' +require 'fileutils' + +RSpec.configure do |config| + config.mock_with :mocha + + config.before :each do + # Ensure that we don't accidentally cache facts and environment + # between test cases. + Facter::Util::Loader.any_instance.stubs(:load_all) + Facter.clear + Facter.clear_messages + + # Store any environment variables away to be restored later + @old_env = {} + ENV.each_key {|k| @old_env[k] = ENV[k]} + end + + config.after :each do + # Restore environment variables after execution of each test + @old_env.each_pair {|k, v| ENV[k] = v} + to_remove = ENV.keys.reject {|key| @old_env.include? key } + to_remove.each {|key| ENV.delete key } + end +end + diff --git a/modules/facter/spec/unit/dc_suffix.rb b/modules/facter/spec/unit/dc_suffix.rb new file mode 100644 index 00000000..4b7a4648 --- /dev/null +++ b/modules/facter/spec/unit/dc_suffix.rb @@ -0,0 +1,15 @@ +#!/usr/bin/env rspec + +require 'spec_helper' + +describe "Dc_suffix fact" do + it "should be based on tld domain" do + Facter.fact(:domain).stubs(:value).returns("test") + Facter.fact(:dc_suffix).value.should == "dc=test" + end + + it "should be based on domain" do + Facter.fact(:domain).stubs(:value).returns("test.example.org") + Facter.fact(:dc_suffix).value.should == "dc=test,dc=example,dc=org" + end +end diff --git a/modules/facter/spec/unit/lib_dir.rb b/modules/facter/spec/unit/lib_dir.rb new file mode 100644 index 00000000..1d5c4624 --- /dev/null +++ b/modules/facter/spec/unit/lib_dir.rb @@ -0,0 +1,23 @@ +#!/usr/bin/env rspec + +require 'spec_helper' + +describe "Lib_dir fact" do + it "should default to /usr/lib" do + Facter.fact(:architecture).stubs(:value).returns("bogus") + Facter.fact(:lib_dir).value.should == "/usr/lib/" + end + + archs = Hash.new + # TODO add arm 64 and others + archs = { + "i586" => "/usr/lib/", + "x86_64" => "/usr/lib64/", + } + archs.each do |arch, dir| + it "should be #{dir} on #{arch}" do + Facter.fact(:architecture).stubs(:value).returns(arch) + Facter.fact(:lib_dir).value.should == dir + end + end +end |