diff --git a/Gemfile b/Gemfile index fc221439..6d35d93d 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,7 @@ source ENV['GEM_SOURCE'] || "https://rubygems.org" group :development, :test do gem 'puppetlabs_spec_helper', :require => 'false' gem 'rspec-puppet', '~> 2.2.0', :require => 'false' + gem 'rspec-puppet-facts', :require => 'false' gem 'metadata-json-lint', :require => 'false' gem 'puppet-lint-param-docs', :require => 'false' gem 'puppet-lint-absolute_classname-check', :require => 'false' diff --git a/spec/defaults.rb b/spec/defaults.rb new file mode 100644 index 00000000..3bd0d95c --- /dev/null +++ b/spec/defaults.rb @@ -0,0 +1,40 @@ +# This file contains a module to return a default set of facts and supported +# operating systems for the tests in this module. +module OSDefaults + def self.get_facts(extra_facts={}) + { :os_service_default => '' }.merge(extra_facts) + end + + def self.get_supported_os + [ + { + "operatingsystem" => "CentOS", + "operatingsystemrelease" => [ + "6.0", + "7.0" + ] + }, + { + "operatingsystem" => "RedHat", + "operatingsystemrelease" => [ + "6.0", + "7.0" + ] + }, + { + "operatingsystem" => "Ubuntu", + "operatingsystemrelease" => [ + "12.04", + "14.04" + ] + }, + { + "operatingsystem" => "Debian", + "operatingsystemrelease" => [ + "7", + "8" + ] + } + ] + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 9bc7bcf9..a2ccc7bf 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -2,11 +2,17 @@ require 'puppetlabs_spec_helper/module_spec_helper' require 'shared_examples' require 'webmock/rspec' +require 'rspec-puppet-facts' +include RspecPuppetFacts +require 'defaults.rb' + RSpec.configure do |c| c.alias_it_should_behave_like_to :it_configures, 'configures' c.alias_it_should_behave_like_to :it_raises, 'raises' + # TODO(aschultz): remove this after all tests converted to use OSDefaults + # instead of referencing @default_facts c.before :each do - @default_facts = { :os_service_default => '' } + @default_facts = OSDefaults.get_facts end end