aboutsummaryrefslogtreecommitdiffstats
path: root/modules/facter
diff options
context:
space:
mode:
authorMichael Scherer <misc@mageia.org>2012-01-25 12:39:28 +0000
committerMichael Scherer <misc@mageia.org>2012-01-25 12:39:28 +0000
commit218d13f6adbeba1b2e837d6cbfa09154eeba2638 (patch)
tree0eac442f461ae10198cde650acc8adade138814f /modules/facter
parent19840d1550aaf43af8ab4c08e2fdbb5bec8693bb (diff)
downloadpuppet-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 )
Diffstat (limited to 'modules/facter')
-rw-r--r--modules/facter/spec/spec_helper.rb35
-rw-r--r--modules/facter/spec/unit/dc_suffix.rb15
-rw-r--r--modules/facter/spec/unit/lib_dir.rb23
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