Switch glance to rspec-puppet-facts

This change updates the glance tests to use rspec-puppet-facts to test
multiple operating systems.

Change-Id: I75fd8970ba8335cb4ffa09a7d600415056e9f889
This commit is contained in:
Alex Schultz
2016-02-18 22:58:47 -07:00
parent 624f522e71
commit cda71192de
22 changed files with 1208 additions and 1271 deletions

View File

@@ -52,13 +52,7 @@ describe 'glance::api::db' do
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
end
it_configures 'glance::api::db'
shared_examples_for 'glance::api::db Debian' do
context 'using pymysql driver' do
let :params do
{ :database_connection => 'mysql+pymysql://glance_api:glance@localhost/glance', }
@@ -74,16 +68,7 @@ describe 'glance::api::db' do
end
end
context 'on Redhat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7',
})
end
it_configures 'glance::api::db'
shared_examples_for 'glance::api::db RedHat' do
context 'using pymysql driver' do
let :params do
{ :database_connection => 'mysql+pymysql://glance_api:glance@localhost/glance', }
@@ -93,5 +78,18 @@ describe 'glance::api::db' do
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance::api::db'
it_configures "glance::api::db #{facts[:osfamily]}"
end
end
end

View File

@@ -127,24 +127,16 @@ describe 'glance::api::logging' do
}
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance-api-logging'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
})
end
it_configures 'glance-api-logging'
end
end

View File

@@ -2,13 +2,6 @@ require 'spec_helper'
describe 'glance::api' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
:processorcount => '7',
})
end
let :default_params do
{
:verbose => false,
@@ -50,6 +43,7 @@ describe 'glance::api' do
}
end
shared_examples_for 'glance::api' do
[{:keystone_password => 'ChangeMe'},
{
:verbose => true,
@@ -287,6 +281,17 @@ describe 'glance::api' do
)}
end
describe 'Support IPv6' do
let :params do
default_params.merge({
:registry_host => '2001::1',
})
end
it { is_expected.to contain_glance_api_config('DEFAULT/registry_host').with(
:value => '[2001::1]'
)}
end
describe 'while validating the service with custom command' do
let :params do
default_params.merge({
@@ -306,24 +311,9 @@ describe 'glance::api' do
:require => 'Exec[execute glance-api validation]',
)}
end
describe 'Support IPv6' do
let :params do
default_params.merge({
:registry_host => '2001::1',
})
end
it { is_expected.to contain_glance_api_config('DEFAULT/registry_host').with(
:value => '[2001::1]'
)}
end
describe 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
shared_examples_for 'glance::api Debian' do
let(:params) { default_params }
# We only test this on Debian platforms, since on RedHat there isn't a
@@ -339,13 +329,7 @@ describe 'glance::api' do
end
end
describe 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7',
})
end
shared_examples_for 'glance::api RedHat' do
let(:params) { default_params }
it { is_expected.to contain_package('openstack-glance').with(
@@ -353,6 +337,19 @@ describe 'glance::api' do
)}
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance::api'
it_configures "glance::api #{facts[:osfamily]}"
end
end
describe 'on unknown platforms' do
let :facts do
{ :osfamily => 'unknown' }

View File

@@ -76,24 +76,16 @@ describe 'glance::backend::cinder' do
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance with cinder backend'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7',
})
end
it_configures 'glance with cinder backend'
end
end

View File

@@ -1,12 +1,8 @@
require 'spec_helper'
describe 'glance::backend::file' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
shared_examples_for 'glance::backend::file' do
it 'configures glance-api.conf' do
is_expected.to contain_glance_api_config('glance_store/default_store').with_value('file')
is_expected.to contain_glance_api_config('glance_store/filesystem_store_datadir').with_value('/var/lib/glance/images/')
@@ -29,4 +25,17 @@ describe 'glance::backend::file' do
is_expected.to contain_glance_cache_config('glance_store/filesystem_store_datadir').with_value('/tmp/')
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance::backend::file'
end
end
end

View File

@@ -1,12 +1,7 @@
require 'spec_helper'
describe 'glance::backend::s3' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
shared_examples_for 'glance::backend::s3' do
let :params do
{
:access_key => 'access',
@@ -114,4 +109,17 @@ describe 'glance::backend::s3' do
is_expected.to raise_error(Puppet::Error, /glance::backend::s3::large_object_chunk_size must be an integer >= 5/)
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance::backend::s3'
end
end
end

View File

@@ -1,12 +1,7 @@
require 'spec_helper'
describe 'glance::backend::swift' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
shared_examples_for 'glance::backend::swift' do
let :params do
{
:swift_store_user => 'user',
@@ -65,6 +60,18 @@ describe 'glance::backend::swift' do
is_expected.to contain_glance_swift_config('swift_creds/auth_version').with_value('1')
is_expected.to contain_glance_swift_config('swift_creds/auth_address').with_value('127.0.0.2:8080/v1.0/')
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance::backend::swift'
end
end
end

View File

@@ -73,27 +73,17 @@ describe 'glance::backend::vsphere' do
is_expected.to contain_glance_api_config('glance_store/vmware_api_retry_count').with_value('11')
end
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance with vsphere backend'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7',
})
end
it_configures 'glance with vsphere backend'
end
end

View File

@@ -17,6 +17,10 @@ describe 'glance::cache::cleaner' do
:month => '*',
:weekday => '*'
)
is_expected.to contain_cron('glance-cache-cleaner').with(
:require => "Package[#{platform_params[:api_package_name]}]"
)
end
end
@@ -46,25 +50,25 @@ describe 'glance::cache::cleaner' do
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
include_examples 'glance cache cleaner'
it { is_expected.to contain_cron('glance-cache-cleaner').with(:require => 'Package[glance-api]')}
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7',
})
let(:platform_params) do
case facts[:osfamily]
when 'Debian'
{ :api_package_name => 'glance-api' }
when 'RedHat'
{ :api_package_name => 'openstack-glance' }
end
end
it_configures 'glance cache cleaner'
end
include_examples 'glance cache cleaner'
it { is_expected.to contain_cron('glance-cache-cleaner').with(:require => 'Package[openstack-glance]')}
end
end

View File

@@ -127,20 +127,15 @@ describe 'glance::cache::logging' do
}
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance-cache-logging'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'RedHat' })
end
it_configures 'glance-cache-logging'
end
end

View File

@@ -17,6 +17,9 @@ describe 'glance::cache::pruner' do
:month => '*',
:weekday => '*'
)
is_expected.to contain_cron('glance-cache-pruner').with(
:require => "Package[#{platform_params[:api_package_name]}]"
)
end
end
@@ -46,25 +49,24 @@ describe 'glance::cache::pruner' do
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
include_examples 'glance cache pruner'
it { is_expected.to contain_cron('glance-cache-pruner').with(:require => 'Package[glance-api]')}
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7',
})
let(:platform_params) do
case facts[:osfamily]
when 'Debian'
{ :api_package_name => 'glance-api' }
when 'RedHat'
{ :api_package_name => 'openstack-glance' }
end
include_examples 'glance cache pruner'
it { is_expected.to contain_cron('glance-cache-pruner').with(:require => 'Package[openstack-glance]')}
end
it_configures 'glance cache pruner'
end
end
end

View File

@@ -12,22 +12,15 @@ describe 'glance::client' do
}
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
include_examples 'glance client'
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7',
})
it_configures 'glance client'
end
include_examples 'glance client'
end
end

View File

@@ -1,12 +1,7 @@
require 'spec_helper'
describe 'glance::db::mysql' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
shared_examples_for 'glance::db::mysql' do
let :pre_condition do
'include mysql::server'
end
@@ -73,7 +68,18 @@ describe 'glance::db::mysql' do
:allowed_hosts => '127.0.0.1'
}
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance::db::mysql'
end
end
end

View File

@@ -2,6 +2,7 @@ require 'spec_helper'
describe 'glance::db::postgresql' do
shared_examples_for 'glance::db::postgresql' do
let :req_params do
{ :password => 'pw' }
end
@@ -10,15 +11,6 @@ describe 'glance::db::postgresql' do
'include postgresql::server'
end
context 'on a RedHat osfamily' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7.0',
:concat_basedir => '/var/lib/puppet/concat'
})
end
context 'with only required parameters' do
let :params do
req_params
@@ -29,30 +21,17 @@ describe 'glance::db::postgresql' do
:password => 'md56c7c03b193c2c1e0667bc5bd891703db'
)}
end
end
context 'on a Debian osfamily' do
let :facts do
@default_facts.merge({
:operatingsystemrelease => '7.8',
:operatingsystem => 'Debian',
:osfamily => 'Debian',
:concat_basedir => '/var/lib/puppet/concat'
})
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts({ :concat_basedir => '/var/lib/puppet/concat' }))
end
context 'with only required parameters' do
let :params do
req_params
it_configures 'glance::db::postgresql'
end
it { is_expected.to contain_postgresql__server__db('glance').with(
:user => 'glance',
:password => 'md56c7c03b193c2c1e0667bc5bd891703db'
)}
end
end
end

View File

@@ -30,33 +30,18 @@ describe 'glance::db::sync' do
)
}
end
end
context 'on a RedHat osfamily' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7.0',
:concat_basedir => '/var/lib/puppet/concat'
})
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts({ :concat_basedir => '/var/lib/puppet/concat' }))
end
it_configures 'glance-dbsync'
end
context 'on a Debian osfamily' do
let :facts do
@default_facts.merge({
:operatingsystemrelease => '7.8',
:operatingsystem => 'Debian',
:osfamily => 'Debian',
:concat_basedir => '/var/lib/puppet/concat'
})
end
it_configures 'glance-dbsync'
end
end

View File

@@ -2,6 +2,7 @@ require 'spec_helper'
describe 'glance::keystone::auth' do
shared_examples_for 'glance::keystone::auth' do
describe 'with defaults' do
let :params do
@@ -155,12 +156,6 @@ describe 'glance::keystone::auth' do
"class { 'glance::api': keystone_password => 'test' }"
end
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
let :params do
{
:password => 'test',
@@ -186,5 +181,17 @@ describe 'glance::keystone::auth' do
it { is_expected.to contain_keystone_endpoint('RegionOne/glance_service::image') }
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance::keystone::auth'
end
end
end

View File

@@ -1,11 +1,7 @@
require 'spec_helper'
describe 'glance::notify::rabbitmq' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
shared_examples_for 'glance::notify::rabbitmq' do
let :pre_condition do
'class { "glance::api": keystone_password => "pass" }'
end
@@ -162,4 +158,18 @@ describe 'glance::notify::rabbitmq' do
end
it { is_expected.to contain_glance_api_config('oslo_messaging_rabbit/amqp_durable_queues').with_value('true') }
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance::notify::rabbitmq'
end
end
end

View File

@@ -23,23 +23,15 @@ describe 'glance::policy' do
end
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance policies'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
})
end
it_configures 'glance policies'
end
end

View File

@@ -52,13 +52,7 @@ describe 'glance::registry::db' do
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })
end
it_configures 'glance::registry::db'
shared_examples_for 'glance::registry::db Debian' do
context 'using pymysql driver' do
let :params do
{ :database_connection => 'mysql+pymysql://glance_registry:glance@localhost/glance', }
@@ -74,16 +68,7 @@ describe 'glance::registry::db' do
end
end
context 'on Redhat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7',
})
end
it_configures 'glance::registry::db'
shared_examples_for 'glance::registry::db RedHat' do
context 'using pymysql driver' do
let :params do
{ :database_connection => 'mysql+pymysql://glance_registry:glance@localhost/glance', }
@@ -93,5 +78,19 @@ describe 'glance::registry::db' do
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance::registry::db'
it_configures "glance::registry::db #{facts[:osfamily]}"
end
end
end

View File

@@ -127,24 +127,15 @@ describe 'glance::registry::logging' do
}
end
context 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance-registry-logging'
end
context 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
})
end
it_configures 'glance-registry-logging'
end
end

View File

@@ -1,13 +1,5 @@
describe 'glance::registry' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
:processorcount => '7',
})
end
let :default_params do
{
:verbose => false,
@@ -35,6 +27,7 @@ describe 'glance::registry' do
}
end
shared_examples_for 'glance::registry' do
[
{:keystone_password => 'ChangeMe'},
{
@@ -199,14 +192,9 @@ describe 'glance::registry' do
it { is_expected.to contain_glance_registry_config('DEFAULT/key_file').with_value('/tmp/key_file') }
end
end
describe 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
shared_examples_for 'glance::registry Debian' do
# We only test this on Debian platforms, since on RedHat there isn't a
# separate package for glance registry.
['present', 'latest'].each do |package_ensure|
@@ -220,18 +208,25 @@ describe 'glance::registry' do
end
end
describe 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7',
})
end
shared_examples_for 'glance::registry RedHat' do
let(:params) { default_params }
it { is_expected.to contain_package('openstack-glance') }
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance::registry'
it_configures "glance::registry #{facts[:osfamily]}"
end
end
describe 'on unknown platforms' do
let :facts do
{ :osfamily => 'unknown' }

View File

@@ -2,28 +2,13 @@ require 'spec_helper'
describe 'glance' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
let :default_params do
{}
end
[
{},
{}
].each do |param_set|
describe "when #{param_set == {} ? "using default" : "specifying"} class parameters" do
let :param_hash do
param_set == {} ? default_params : params
end
let :params do param_set end
shared_examples_for 'glance' do
describe "when using default class parameters" do
let(:params) { default_params }
it { is_expected.to contain_file('/etc/glance/').with(
'ensure' => 'directory',
@@ -38,24 +23,13 @@ describe 'glance' do
end
end
describe 'on Debian platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'Debian',
})
end
shared_examples_for 'glance Debian' do
let(:params) { default_params }
it { is_expected.to_not contain_package('glance') }
end
describe 'on RedHat platforms' do
let :facts do
@default_facts.merge({
:osfamily => 'RedHat',
:operatingsystemrelease => '7',
})
end
shared_examples_for 'glance RedHat' do
let(:params) { default_params }
it { is_expected.to contain_package('openstack-glance').with(
@@ -63,4 +37,16 @@ describe 'glance' do
)}
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'glance'
it_configures "glance #{facts[:osfamily]}"
end
end
end