puppet-nova/spec/classes/nova_db_mysql_api_spec.rb
Takashi Kajinami c6b53de070 Remove password hash generation in each puppet modules
... and migrate it to openstacklib so that all logics about database
configuration are implemented in one common place.

Depends-on: https://review.opendev.org/#/c/728595/
Change-Id: I0f7d05983a6d8bc6808f8595bc9d94c6aa4f7800
2020-05-18 23:53:54 +09:00

80 lines
1.9 KiB
Ruby

require 'spec_helper'
describe 'nova::db::mysql_api' do
shared_examples_for 'nova::db::mysql_api' do
let :pre_condition do
'include mysql::server'
end
let :required_params do
{ :password => "novapass" }
end
context 'with only required params' do
let :params do
required_params
end
it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
:user => 'nova_api',
:password => 'novapass',
:charset => 'utf8',
:collate => 'utf8_general_ci',
)}
end
context 'overriding allowed_hosts param to array' do
let :params do
{ :allowed_hosts => ['127.0.0.1','%'] }.merge(required_params)
end
it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
:user => 'nova_api',
:password => 'novapass',
:charset => 'utf8',
:collate => 'utf8_general_ci',
:allowed_hosts => ['127.0.0.1','%'],
)}
end
context 'overriding allowed_hosts param to string' do
let :params do
{ :allowed_hosts => '192.168.1.1' }.merge(required_params)
end
it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
:user => 'nova_api',
:password => 'novapass',
:charset => 'utf8',
:collate => 'utf8_general_ci',
:allowed_hosts => '192.168.1.1',
)}
end
context 'when overriding charset' do
let :params do
{ :charset => 'latin1' }.merge(required_params)
end
it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
:charset => 'latin1',
)}
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 'nova::db::mysql_api'
end
end
end