Add rspec-puppet-facts to the spec_helper
This change adds the rspec-puppet-facts gem to the spec helper so that we can centralize the management of the base operating systems that we support. rspec-puppet-facts allows us to simplify our unit tests and provides a more complete list of Operating Systems and their associated facts for the unit tests. With this change we can now loop over and test CentOS, Debian, Fedora, RedHat, and Ubuntu by simply providing a list of supported os to rspec-puppet-facts. Additionally this change includes a central object for managing our supported os list for rspec-puppet-facts and providing our default facts like os_service_default. This central object should replace the usage of @default_facts within the unit tests for each module. Change-Id: I07cff6c0fe42281a8d88dc6a5105f0ad9a6e6dd1
This commit is contained in:
parent
56c3aad3ea
commit
3e9922baab
4
Gemfile
4
Gemfile
@ -3,6 +3,7 @@ source ENV['GEM_SOURCE'] || "https://rubygems.org"
|
|||||||
group :development, :test do
|
group :development, :test do
|
||||||
gem 'puppetlabs_spec_helper', :require => 'false'
|
gem 'puppetlabs_spec_helper', :require => 'false'
|
||||||
gem 'rspec-puppet', '~> 2.2.0', :require => 'false'
|
gem 'rspec-puppet', '~> 2.2.0', :require => 'false'
|
||||||
|
gem 'rspec-puppet-facts', :require => 'false'
|
||||||
gem 'metadata-json-lint', :require => 'false'
|
gem 'metadata-json-lint', :require => 'false'
|
||||||
gem 'puppet-lint-param-docs', :require => 'false'
|
gem 'puppet-lint-param-docs', :require => 'false'
|
||||||
gem 'puppet-lint-absolute_classname-check', :require => 'false'
|
gem 'puppet-lint-absolute_classname-check', :require => 'false'
|
||||||
@ -14,6 +15,9 @@ group :development, :test do
|
|||||||
gem 'puppet-lint-numericvariable', :require => 'false'
|
gem 'puppet-lint-numericvariable', :require => 'false'
|
||||||
gem 'json', :require => 'false'
|
gem 'json', :require => 'false'
|
||||||
gem 'webmock', :require => 'false'
|
gem 'webmock', :require => 'false'
|
||||||
|
gem 'puppet-openstack_spec_helper',
|
||||||
|
:git => 'https://git.openstack.org/openstack/puppet-openstack_spec_helper',
|
||||||
|
:require => false
|
||||||
end
|
end
|
||||||
|
|
||||||
group :system_tests do
|
group :system_tests do
|
||||||
|
@ -2,10 +2,20 @@ require 'puppetlabs_spec_helper/module_spec_helper'
|
|||||||
require 'shared_examples'
|
require 'shared_examples'
|
||||||
require 'webmock/rspec'
|
require 'webmock/rspec'
|
||||||
|
|
||||||
|
require 'puppet-openstack_spec_helper/defaults'
|
||||||
|
require 'rspec-puppet-facts'
|
||||||
|
include RspecPuppetFacts
|
||||||
|
|
||||||
RSpec.configure do |c|
|
RSpec.configure do |c|
|
||||||
c.alias_it_should_behave_like_to :it_configures, 'configures'
|
c.alias_it_should_behave_like_to :it_configures, 'configures'
|
||||||
c.alias_it_should_behave_like_to :it_raises, 'raises'
|
c.alias_it_should_behave_like_to :it_raises, 'raises'
|
||||||
c.default_facts = { :concat_basedir => '/var/lib/puppet/concat' }
|
c.default_facts = { :concat_basedir => '/var/lib/puppet/concat' }
|
||||||
|
# TODO(aschultz): remove this after all tests converted to use OSDefaults
|
||||||
|
# instead of referencing @default_facts
|
||||||
|
c.before :each do
|
||||||
|
@default_facts = OSDefaults
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
at_exit { RSpec::Puppet::Coverage.report! }
|
at_exit { RSpec::Puppet::Coverage.report! }
|
||||||
|
Loading…
Reference in New Issue
Block a user