(MODULES-2683) fix version compare to properly suppress show_diff for root password
This commit is contained in:
parent
6527a3aa22
commit
5f49c45b2e
3 changed files with 28 additions and 4 deletions
|
@ -35,7 +35,7 @@ class mysql::server::root_password {
|
||||||
}
|
}
|
||||||
|
|
||||||
# show_diff was added with puppet 3.0
|
# show_diff was added with puppet 3.0
|
||||||
if versioncmp($::puppetversion, '3.0') <= 0 {
|
if versioncmp($::puppetversion, '3.0') >= 0 {
|
||||||
File["${::root_home}/.my.cnf"] { show_diff => false }
|
File["${::root_home}/.my.cnf"] { show_diff => false }
|
||||||
}
|
}
|
||||||
if $mysql::server::create_root_user == true {
|
if $mysql::server::create_root_user == true {
|
||||||
|
|
|
@ -64,5 +64,21 @@ describe 'mysql class' do
|
||||||
apply_manifest(pp, :catch_changes => true)
|
apply_manifest(pp, :catch_changes => true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
|
describe 'when changing the password' do
|
||||||
|
let(:password) { 'THE NEW SECRET' }
|
||||||
|
let(:manifest) { "class { 'mysql::server': root_password => '#{password}' }" }
|
||||||
|
|
||||||
|
it 'should not display the password' do
|
||||||
|
result = apply_manifest(manifest, :expect_changes => true)
|
||||||
|
# this does not actually prove anything, as show_diff in the puppet config defaults to false.
|
||||||
|
expect(result.stdout).not_to match /#{password}/
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should be idempotent' do
|
||||||
|
result = apply_manifest(manifest, :catch_changes => true)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
|
@ -90,12 +90,20 @@ describe 'mysql::server' do
|
||||||
describe 'when root_password set' do
|
describe 'when root_password set' do
|
||||||
let(:params) {{:root_password => 'SET' }}
|
let(:params) {{:root_password => 'SET' }}
|
||||||
it { is_expected.to contain_mysql_user('root@localhost') }
|
it { is_expected.to contain_mysql_user('root@localhost') }
|
||||||
it { is_expected.to contain_file('/root/.my.cnf').that_requires('Mysql_user[root@localhost]') }
|
if Puppet.version.to_f >= 3.0
|
||||||
|
it { is_expected.to contain_file('/root/.my.cnf').with(:show_diff => false).that_requires('Mysql_user[root@localhost]') }
|
||||||
|
else
|
||||||
|
it { is_expected.to contain_file('/root/.my.cnf').that_requires('Mysql_user[root@localhost]') }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
describe 'when root_password set, create_root_user set to false' do
|
describe 'when root_password set, create_root_user set to false' do
|
||||||
let(:params) {{ :root_password => 'SET', :create_root_user => false }}
|
let(:params) {{ :root_password => 'SET', :create_root_user => false }}
|
||||||
it { is_expected.not_to contain_mysql_user('root@localhost') }
|
it { is_expected.not_to contain_mysql_user('root@localhost') }
|
||||||
it { is_expected.to contain_file('/root/.my.cnf') }
|
if Puppet.version.to_f >= 3.0
|
||||||
|
it { is_expected.to contain_file('/root/.my.cnf').with(:show_diff => false) }
|
||||||
|
else
|
||||||
|
it { is_expected.to contain_file('/root/.my.cnf') }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
describe 'when root_password set, create_root_my_cnf set to false' do
|
describe 'when root_password set, create_root_my_cnf set to false' do
|
||||||
let(:params) {{ :root_password => 'SET', :create_root_my_cnf => false }}
|
let(:params) {{ :root_password => 'SET', :create_root_my_cnf => false }}
|
||||||
|
|
Loading…
Reference in a new issue