+++ /dev/null
-require 'spec_helper'
-
-describe 'openstacklib::db::postgresql' do
- password_hash = 'AA1420F182E88B9E5F874F6FBE7459291E8F4601'
- title = 'nova'
- let (:title) { title }
-
- let :required_params do
- { :password_hash => password_hash }
- end
-
- context 'on a RedHat osfamily' do
- let :facts do
- {
- :postgres_default_version => '8.4',
- :osfamily => 'RedHat'
- }
- end
-
- context 'with only required parameters' do
- let :params do
- required_params
- end
-
- it { is_expected.to contain_postgresql__server__db(title).with(
- :user => title,
- :password => password_hash
- )}
- end
-
- context 'when overriding encoding' do
- let :params do
- { :encoding => 'latin1' }.merge(required_params)
- end
- it { is_expected.to contain_postgresql__server__db(title).with_encoding(params[:encoding]) }
- end
-
- context 'when omitting the required parameter password_hash' do
- let :params do
- required_params.delete(:password_hash)
- end
-
- it { expect { is_expected.to raise_error(Puppet::Error) } }
- end
-
- context 'when notifying other resources' do
- let :pre_condition do
- 'exec { "nova-db-sync": }'
- end
- let :params do
- { :notify => 'Exec[nova-db-sync]'}.merge(required_params)
- end
-
- it {is_expected.to contain_exec('nova-db-sync').that_subscribes_to("Openstacklib::Db::Postgresql[#{title}]") }
- end
-
- context 'when required for other openstack services' do
- let :pre_condition do
- 'service {"keystone":}'
- end
- let :title do
- 'keystone'
- end
- let :params do
- { :before => 'Service[keystone]'}.merge(required_params)
- end
-
- it { is_expected.to contain_service('keystone').that_requires("Openstacklib::Db::Postgresql[keystone]") }
- end
-
- end
-
- context 'on a Debian osfamily' do
- let :facts do
- {
- :osfamily => 'Debian'
- }
- end
-
- context 'with only required parameters' do
- let :params do
- required_params
- end
-
- it { is_expected.to contain_postgresql__server__db(title).with(
- :user => title,
- :password => password_hash
- )}
- end
-
- context 'when overriding encoding' do
- let :params do
- { :encoding => 'latin1' }.merge(required_params)
- end
- it { is_expected.to contain_postgresql__server__db(title).with_encoding(params[:encoding]) }
- end
-
- context 'when omitting the required parameter password_hash' do
- let :params do
- required_params.delete(:password_hash)
- end
-
- it { expect { is_expected.to raise_error(Puppet::Error) } }
- end
-
- context 'when notifying other resources' do
- let :pre_condition do
- 'exec { "nova-db-sync": }'
- end
- let :params do
- { :notify => 'Exec[nova-db-sync]'}.merge(required_params)
- end
-
- it {is_expected.to contain_exec('nova-db-sync').that_subscribes_to("Openstacklib::Db::Postgresql[#{title}]") }
- end
-
- context 'when required for other openstack services' do
- let :pre_condition do
- 'service {"keystone":}'
- end
- let :title do
- 'keystone'
- end
- let :params do
- { :before => 'Service[keystone]'}.merge(required_params)
- end
-
- it { is_expected.to contain_service('keystone').that_requires("Openstacklib::Db::Postgresql[keystone]") }
- end
-
- end
-
-end