puppet-heat/spec/classes/heat_db_mysql_spec.rb
Takashi Kajinami 1de8cdd7a4 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: I1e0061aea6782bd61e745bb39683589794231a5f
2020-05-19 20:00:03 +09:00

76 lines
1.7 KiB
Ruby

require 'spec_helper'
describe 'heat::db::mysql' do
let :params do
{ :password => 'heatpass',
:dbname => 'heat',
:user => 'heat',
:host => 'localhost',
:charset => 'utf8',
:collate => 'utf8_general_ci',
}
end
shared_examples_for 'heat mysql database' do
context 'when omiting the required parameter password' do
before { params.delete(:password) }
it { expect { is_expected.to raise_error(Puppet::Error) } }
end
it 'creates a mysql database' do
is_expected.to contain_openstacklib__db__mysql( params[:dbname] ).with(
:user => params[:user],
:password => params[:password],
:host => params[:host],
:charset => params[:charset],
:collate => params[:collate],
)
end
end
describe "overriding allowed_hosts param to array" do
let :params do
{
:password => 'heatpass',
:allowed_hosts => ['localhost','%']
}
end
end
describe "overriding allowed_hosts param to string" do
let :params do
{
:password => 'heatpass2',
:allowed_hosts => '192.168.1.1'
}
end
end
describe "overriding allowed_hosts param equals to host param " do
let :params do
{
:password => 'heatpass2',
:allowed_hosts => 'localhost'
}
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_behaves_like 'heat mysql database'
end
end
end