Fix an issue with lowercase privileges.
This fixes the case where a user passes in lowercase privileges and we incorrectly assume this means a change and reapply them.
This commit is contained in:
parent
cec288d47b
commit
d271ab5f76
2 changed files with 32 additions and 3 deletions
|
@ -3,9 +3,7 @@ Puppet::Type.newtype(:mysql_grant) do
|
|||
@doc = "Manage a MySQL user's rights."
|
||||
ensurable
|
||||
|
||||
autorequire(:file) do
|
||||
'/root/.my.cnf'
|
||||
end
|
||||
autorequire(:file) { '/root/.my.cnf' }
|
||||
|
||||
def initialize(*args)
|
||||
super
|
||||
|
@ -38,6 +36,10 @@ Puppet::Type.newtype(:mysql_grant) do
|
|||
|
||||
newproperty(:privileges, :array_matching => :all) do
|
||||
desc 'Privileges for user'
|
||||
|
||||
munge do |value|
|
||||
value.upcase
|
||||
end
|
||||
end
|
||||
|
||||
newproperty(:table) do
|
||||
|
|
|
@ -283,5 +283,32 @@ describe 'mysql_grant' do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'lower case privileges' do
|
||||
it 'create ALL privs' do
|
||||
pp = <<-EOS
|
||||
mysql_grant { 'lowercase@localhost/*.*':
|
||||
user => 'lowercase@localhost',
|
||||
privileges => 'ALL',
|
||||
table => '*.*',
|
||||
}
|
||||
EOS
|
||||
|
||||
puppet_apply(pp)
|
||||
end
|
||||
|
||||
it 'create lowercase all privs' do
|
||||
pp = <<-EOS
|
||||
mysql_grant { 'lowercase@localhost/*.*':
|
||||
user => 'lowercase@localhost',
|
||||
privileges => 'all',
|
||||
table => '*.*',
|
||||
}
|
||||
EOS
|
||||
|
||||
puppet_apply(pp) do |r|
|
||||
r.exit_code.should be_zero
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue