From 189a662c869afbe918c8a80ace5f7478d766dc6a Mon Sep 17 00:00:00 2001 From: ZhongShengping Date: Sat, 30 Apr 2016 11:49:23 +0800 Subject: [PATCH] Test multiple operating systems for db This change updates the tests for nova::db::postgresql and nova::db::postgresql::api to test multiple operating systems. Change-Id: I7c83e8ee38fe75703ccfdd73ffbb076bbb1c02e6 --- spec/classes/nova_db_postgresql_api_spec.rb | 48 +++++++-------------- spec/classes/nova_db_postgresql_spec.rb | 48 +++++++-------------- 2 files changed, 32 insertions(+), 64 deletions(-) diff --git a/spec/classes/nova_db_postgresql_api_spec.rb b/spec/classes/nova_db_postgresql_api_spec.rb index bcbfa3084..730b35c4c 100644 --- a/spec/classes/nova_db_postgresql_api_spec.rb +++ b/spec/classes/nova_db_postgresql_api_spec.rb @@ -2,21 +2,13 @@ require 'spec_helper' describe 'nova::db::postgresql_api' do - let :req_params do - { :password => 'pw' } - end + shared_examples_for 'nova::db::postgresql' do + let :req_params do + { :password => 'pw' } + end - let :pre_condition 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' - }) + let :pre_condition do + 'include postgresql::server' end context 'with only required parameters' do @@ -32,27 +24,19 @@ describe 'nova::db::postgresql_api' do 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 - - context 'with only required parameters' do - let :params do - req_params + 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({ + :processorcount => 8, + :concat_basedir => '/var/lib/puppet/concat' + })) end - it { is_expected.to contain_postgresql__server__db('nova_api').with( - :user => 'nova_api', - :password => 'md581802bf81b206888b50950e640d70549' - )} + it_configures 'nova::db::postgresql' end - end end diff --git a/spec/classes/nova_db_postgresql_spec.rb b/spec/classes/nova_db_postgresql_spec.rb index 3c0adcb43..30f8f2207 100644 --- a/spec/classes/nova_db_postgresql_spec.rb +++ b/spec/classes/nova_db_postgresql_spec.rb @@ -2,21 +2,13 @@ require 'spec_helper' describe 'nova::db::postgresql' do - let :req_params do - { :password => 'pw' } - end + shared_examples_for 'nova::db::postgresql' do + let :req_params do + { :password => 'pw' } + end - let :pre_condition 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' - }) + let :pre_condition do + 'include postgresql::server' end context 'with only required parameters' do @@ -32,27 +24,19 @@ describe 'nova::db::postgresql' do 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 - - context 'with only required parameters' do - let :params do - req_params + 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({ + :processorcount => 8, + :concat_basedir => '/var/lib/puppet/concat' + })) end - it { is_expected.to contain_postgresql__server__db('nova').with( - :user => 'nova', - :password => 'md557ae0608fad632bf0155cb9502a6b454' - )} + it_configures 'nova::db::postgresql' end - end end