Merge "Add in rspec-puppet-facts support"

This commit is contained in:
Jenkins 2016-09-23 19:25:35 +00:00 committed by Gerrit Code Review
commit 942b2a2b8c
12 changed files with 138 additions and 186 deletions

View File

@ -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'

View File

@ -14,11 +14,11 @@
],
"operatingsystem_support": [
{
"operatingsystem": "Fedora",
"operatingsystemrelease": ["20"]
"operatingsystem": "RedHat",
"operatingsystemrelease": ["7"]
},
{
"operatingsystem": "RedHat",
"operatingsystem": "CentOS",
"operatingsystemrelease": ["7"]
}
],

View File

@ -19,15 +19,7 @@ require 'spec_helper'
describe 'tripleo::cluster::cassandra' do
shared_examples_for 'cassandra cluster service' do
let :facts do
{
:hostname => 'host1.midonet',
:osfamily => 'RedHat',
:operatingsystemmajrelease => 7,
}
end
shared_examples_for 'tripleo::cluster::cassandra' do
let :params do
{
@ -49,6 +41,14 @@ describe 'tripleo::cluster::cassandra' do
end
end
it_configures 'cassandra cluster service'
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
facts.merge({})
end
it_behaves_like 'tripleo::cluster::cassandra'
end
end
end

View File

@ -19,97 +19,68 @@ require 'spec_helper'
describe 'tripleo::cluster::zookeeper' do
let :default_params do
{
:zookeeper_server_ips => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
:zookeeper_hostnames => ['host1.midonet', 'host2.midonet', 'host3.midonet']
}
end
context 'on host1' do
let :facts do
shared_examples_for 'tripleo::cluster::zookeeper' do
let :params do
{
:hostname => 'host1.midonet',
:osfamily => 'RedHat',
:operatingsystemmajrelease => 7,
:zookeeper_server_ips => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
:zookeeper_hostnames => ['host1.midonet', 'host2.midonet', 'host3.midonet']
}
end
let :params do
{
:zookeeper_client_ip => '23.43.2.34'
}
context 'on host1' do
before :each do
facts.merge!({ :hostname => 'host1.midonet'})
params.merge!({ :zookeeper_client_ip => '23.43.2.34' })
end
it 'should call zookeeper using id==1' do
is_expected.to contain_class('zookeeper').with(
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
:client_ip => '23.43.2.34',
:id => 1
)
end
end
before do
params.merge!(default_params)
context 'on host2' do
before :each do
facts.merge!({ :hostname => 'host2.midonet'})
params.merge!({ :zookeeper_client_ip => '23.43.2.35' })
end
it 'should call zookeeper using id==1' do
is_expected.to contain_class('zookeeper').with(
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
:client_ip => '23.43.2.35',
:id => 2
)
end
end
it 'should call zookeeper using id==1' do
is_expected.to contain_class('zookeeper').with(
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
:client_ip => '23.43.2.34',
:id => 1
)
end
context 'on host3' do
before :each do
facts.merge!({ :hostname => 'host3.midonet'})
params.merge!({ :zookeeper_client_ip => '23.43.2.36' })
end
end
it 'should call zookeeper using id==1' do
is_expected.to contain_class('zookeeper').with(
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
:client_ip => '23.43.2.36',
:id => 3
)
end
context 'on host2' do
let :facts do
{
:hostname => 'host2.midonet',
:osfamily => 'RedHat',
:operatingsystemmajrelease => 7,
}
end
let :params do
{
:zookeeper_client_ip => '23.43.2.35'
}
end
before do
params.merge!(default_params)
end
it 'should call zookeeper using id==1' do
is_expected.to contain_class('zookeeper').with(
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
:client_ip => '23.43.2.35',
:id => 2
)
end
end
context 'on host3' do
let :facts do
{
:hostname => 'host3.midonet',
:osfamily => 'RedHat',
:operatingsystemmajrelease => 7,
}
end
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
facts.merge({})
end
let :params do
{
:zookeeper_client_ip => '23.43.2.36'
}
it_behaves_like 'tripleo::cluster::zookeeper'
end
before do
params.merge!(default_params)
end
it 'should call zookeeper using id==1' do
is_expected.to contain_class('zookeeper').with(
:servers => ['23.43.2.34', '23.43.2.35', '24.43.2.36'],
:client_ip => '23.43.2.36',
:id => 3
)
end
end
end

View File

@ -24,7 +24,7 @@ describe 'tripleo::firewall' do
{ }
end
shared_examples_for 'tripleo node' do
shared_examples_for 'tripleo::firewall' do
context 'with firewall enabled' do
before :each do
@ -114,23 +114,13 @@ describe 'tripleo::firewall' do
end
context 'on Debian platforms' do
let :facts do
{ :osfamily => 'Debian' }
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
facts.merge({})
end
it_behaves_like 'tripleo::firewall'
end
it_configures 'tripleo node'
end
context 'on RedHat platforms' do
let :facts do
{
:osfamily => 'RedHat',
:operatingsystemrelease => '7.1',
}
end
it_configures 'tripleo node'
end
end

View File

@ -2,15 +2,7 @@ require 'spec_helper'
describe 'tripleo::host::sriov' do
shared_examples_for 'sriov vfs configuration for Red Hat distributions' do
let :facts do
{
:osfamily => 'RedHat',
:operatingsystemmajrelease => 7,
}
end
shared_examples_for 'tripleo::host::sriov' do
let :params do
{:number_of_vfs => []}
end
@ -35,5 +27,13 @@ describe 'tripleo::host::sriov' do
end
end
it_configures 'sriov vfs configuration for Red Hat distributions'
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
facts.merge({})
end
it_behaves_like 'tripleo::host::sriov'
end
end
end

View File

@ -19,17 +19,7 @@ require 'spec_helper'
describe 'tripleo::network::midonet::agent' do
let :facts do
{
:hostname => 'host2.midonet',
:osfamily => 'RedHat',
:operatingsystem => 'CentOS',
:operatingsystemrelease => '7.1',
:operatingsystemmajrelease => 7,
}
end
shared_examples_for 'midonet agent test' do
shared_examples_for 'tripleo::network::midonet::agent' do
let :params do
{
@ -56,7 +46,13 @@ describe 'tripleo::network::midonet::agent' do
end
end
it_configures 'midonet agent test'
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
facts.merge({})
end
it_behaves_like 'tripleo::network::midonet::agent'
end
end
end

View File

@ -19,13 +19,7 @@ require 'spec_helper'
describe 'tripleo::network::midonet::api' do
let :facts do
{
:augeasversion => '1.0.0'
}
end
shared_examples_for 'midonet api test' do
shared_examples_for 'tripleo::midonet::api' do
let :params do
{
@ -67,6 +61,16 @@ describe 'tripleo::network::midonet::api' do
end
it_configures 'midonet api test'
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
facts.merge({
:augeasversion => '1.0.0'
})
end
it_behaves_like 'tripleo::midonet::api'
end
end
end

View File

@ -17,19 +17,12 @@ require 'spec_helper'
describe 'tripleo::packages' do
shared_examples_for 'Red Hat distributions' do
shared_examples_for 'tripleo::packages' do
let :pre_condition do
"service{'nova-compute': ensure => 'running'}"
end
let :facts do
{
:osfamily => 'RedHat',
:operatingsystemmajrelease => 7,
}
end
let :params do
{
:enable_upgrade => true
@ -43,6 +36,15 @@ describe 'tripleo::packages' do
end
it_configures 'Red Hat distributions'
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
facts.merge({})
end
it_behaves_like 'tripleo::packages'
end
end
end

View File

@ -21,7 +21,7 @@ describe 'tripleo::profile::base::swift::proxy' do
{ }
end
shared_examples_for 'tripleo swift proxy base profile' do
shared_examples_for 'tripleo::profile::base::swift::proxy' do
let :pre_condition do
"class { '::swift':
@ -80,25 +80,13 @@ describe 'tripleo::profile::base::swift::proxy' do
end
context 'on Debian platforms' do
let :facts do
{ :osfamily => 'Debian',
:processorcount => 1 }
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
facts.merge({})
end
it_behaves_like 'tripleo::profile::base::swift::proxy'
end
it_configures 'tripleo swift proxy base profile'
end
context 'on RedHat platforms' do
let :facts do
{
:osfamily => 'RedHat',
:operatingsystemrelease => '7.1',
:processorcount => 1,
}
end
it_configures 'tripleo swift proxy base profile'
end
end

View File

@ -19,11 +19,14 @@ require 'spec_helper'
describe 'tripleo::selinux' do
shared_examples_for 'manage selinux' do
shared_examples_for 'tripleo::selinux' do
context 'with selinux enforcing' do
before :each do
facts.merge!( :selinux_current_mode => 'enforcing' )
facts.merge!({
:selinux => true,
:selinux_current_mode => 'enforcing'
})
end
let :params do
@ -55,7 +58,7 @@ describe 'tripleo::selinux' do
context 'with selinux disabled' do
before :each do
facts.merge!( :selinux => 'false' )
facts.merge!({ :selinux => 'false' })
end
let :params do
@ -89,18 +92,19 @@ describe 'tripleo::selinux' do
context 'on Debian platforms' do
let :facts do
{ :osfamily => 'Debian' }
{ :osfamily => 'Debian' }
end
it_raises 'a Puppet::Error', /OS family unsuppored yet \(Debian\), SELinux support is only limited to RedHat family OS/
end
context 'on RedHat platforms' do
let :facts do
{ :osfamily => 'RedHat' }
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
facts.merge({})
end
it_behaves_like 'tripleo::selinux'
end
it_configures 'manage selinux'
end
end

View File

@ -1,5 +1,7 @@
require 'puppetlabs_spec_helper/module_spec_helper'
require 'shared_examples'
require 'rspec-puppet-facts'
include RspecPuppetFacts
fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures'))
@ -10,14 +12,8 @@ RSpec.configure do |c|
c.module_path = File.join(fixture_path, 'modules')
c.manifest_dir = File.join(fixture_path, 'manifests')
c.default_facts = {
:kernel => 'Linux',
:concat_basedir => '/var/lib/puppet/concat',
:memorysize => '1000 MB',
:processorcount => '1',
:puppetversion => '3.7.3',
:uniqueid => '123'
}
# custom global facts for all rspec tests
add_custom_fact :concat_basedir, '/var/lib/puppet/concat'
end
at_exit { RSpec::Puppet::Coverage.report! }