Skip to content

Commit 76e901f

Browse files
author
Andre Ponert
committed
Some refactoring to pass rubocup tests
1 parent 9b691e9 commit 76e901f

8 files changed

+25
-22
lines changed

lib/puppet/provider/mysql_grant/mysql.rb

+5-2
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,11 @@ def self.instances
4646
end
4747
end
4848
sorted_privileges = stripped_privileges.sort
49-
if self.newer_than('mysql' => '8.0.0')
50-
sorted_privileges = (sorted_privileges == ['ALTER', 'ALTER ROUTINE', 'CREATE', 'CREATE ROLE', 'CREATE ROUTINE', 'CREATE TABLESPACE', 'CREATE TEMPORARY TABLES', 'CREATE USER', 'CREATE VIEW', 'DELETE', 'DROP', 'DROP ROLE', 'EVENT', 'EXECUTE', 'FILE', 'INDEX', 'INSERT', 'LOCK TABLES', 'PROCESS', 'REFERENCES', 'RELOAD', 'REPLICATION CLIENT', 'REPLICATION SLAVE', 'SELECT', 'SHOW DATABASES', 'SHOW VIEW', 'SHUTDOWN', 'SUPER', 'TRIGGER', 'UPDATE']) ? ['ALL'] : sorted_privileges
49+
if newer_than('mysql' => '8.0.0') && sorted_privileges == ['ALTER', 'ALTER ROUTINE', 'CREATE', 'CREATE ROLE', 'CREATE ROUTINE', 'CREATE TABLESPACE', 'CREATE TEMPORARY TABLES', 'CREATE USER',
50+
'CREATE VIEW', 'DELETE', 'DROP', 'DROP ROLE', 'EVENT', 'EXECUTE', 'FILE', 'INDEX', 'INSERT', 'LOCK TABLES', 'PROCESS', 'REFERENCES',
51+
'RELOAD', 'REPLICATION CLIENT', 'REPLICATION SLAVE', 'SELECT', 'SHOW DATABASES', 'SHOW VIEW', 'SHUTDOWN', 'SUPER', 'TRIGGER',
52+
'UPDATE']
53+
sorted_privileges = ['ALL']
5154
end
5255
# Same here, but to remove OPTION leaving just GRANT.
5356
options = if %r{WITH\sGRANT\sOPTION}.match?(rest)

spec/acceptance/00_mysql_server_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class { 'mysql::server':
3939
databases => {
4040
'somedb' => {
4141
ensure => 'present',
42-
charset => #{$charset},
42+
charset => #{fetch_charset},
4343
},
4444
}
4545
}

spec/acceptance/01_mysql_db_spec.rb

+3-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
describe 'mysql::db define' do
66
describe 'creating a database' do
7-
87
let(:pp) do
98
<<-MANIFEST
109
class { 'mysql::server':
@@ -15,7 +14,7 @@ class { 'mysql::server':
1514
mysql::db { 'spec1':
1615
user => 'root1',
1716
password => 'password',
18-
charset => #{$charset},
17+
charset => #{fetch_charset},
1918
}
2019
MANIFEST
2120
end
@@ -44,7 +43,7 @@ class { 'mysql::server': override_options => { 'root_password' => 'password' } }
4443
user => 'root1',
4544
password => 'password',
4645
sql => '/tmp/spec.sql',
47-
charset => #{$charset},
46+
charset => #{fetch_charset},
4847
}
4948
MANIFEST
5049
end
@@ -69,7 +68,7 @@ class { 'mysql::server': override_options => { 'root_password' => 'password' } }
6968
user => 'root1',
7069
password => 'password',
7170
dbname => 'realdb',
72-
charset => #{$charset},
71+
charset => #{fetch_charset},
7372
}
7473
MANIFEST
7574
end

spec/acceptance/04_mysql_backup_spec.rb

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class { 'mysql::server': root_password => 'password' }
1212
]:
1313
user => 'backup',
1414
password => 'secret',
15-
charset => #{$charset},
15+
charset => #{fetch_charset},
1616
}
1717
1818
class { 'mysql::server::backup':
@@ -73,7 +73,7 @@ class { 'mysql::server': root_password => 'password' }
7373
]:
7474
user => 'backup',
7575
password => 'secret',
76-
charset => #{$charset},
76+
charset => #{fetch_charset},
7777
}
7878
7979
class { 'mysql::server::backup':
@@ -138,7 +138,7 @@ class { 'mysql::server': root_password => 'password' }
138138
]:
139139
user => 'backup',
140140
password => 'secret',
141-
charset => #{$charset},
141+
charset => #{fetch_charset},
142142
}
143143
case $facts['os']['family'] {
144144
/Debian/: {
@@ -263,7 +263,7 @@ class { 'mysql::server': root_password => 'password' }
263263
]:
264264
user => 'backup',
265265
password => 'secret',
266-
charset => #{$charset},
266+
charset => #{fetch_charset},
267267
}
268268
case $facts['os']['family'] {
269269
/Debian/: {

spec/acceptance/types/mysql_database_spec.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class { 'mysql::server': }
1616
pp = <<-MANIFEST
1717
mysql_database { 'spec_db':
1818
ensure => present,
19-
charset => #{$charset},
19+
charset => #{fetch_charset},
2020
}
2121
MANIFEST
2222
it 'works without errors' do
@@ -38,7 +38,7 @@ class { 'mysql::server': }
3838
collate => 'latin1_swedish_ci',
3939
}
4040
mysql_database { 'spec_utf8':
41-
charset => #{$charset},
41+
charset => #{fetch_charset},
4242
collate => 'utf8_general_ci',
4343
}
4444
MANIFEST

spec/acceptance/types/mysql_grant_spec.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ class { 'mysql::server':
274274
275275
mysql_database { 'foo':
276276
ensure => present,
277-
charset => '#{$charset}',
277+
charset => '#{fetch_charset}',
278278
}
279279
280280
exec { 'mysql-create-table':
@@ -686,7 +686,7 @@ class { 'mysql::server': override_options => { 'root_password' => 'password' } }
686686
user => 'root1',
687687
password => 'password',
688688
sql => '/tmp/grant_spec_table.sql',
689-
charset => #{$charset},
689+
charset => #{fetch_charset},
690690
}
691691
MANIFEST
692692
it 'creates table' do

spec/spec_helper_acceptance.rb

-7
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,3 @@
44
require 'spec_helper_acceptance_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_acceptance_local.rb'))
55

66
PuppetLitmus.configure!
7-
8-
# On Ubuntu 20.04 'utf8' charset now sets 'utf8mb3' internally and breaks idempotence
9-
$charset = if os[:family] == 'ubuntu' && os[:release] =~ %r{^20\.04}
10-
"utf8mb3"
11-
else
12-
"utf8"
13-
end

spec/spec_helper_acceptance_local.rb

+8
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ def export_locales
3232
LitmusHelper.instance.run_shell('source ~/.bashrc')
3333
end
3434

35+
def fetch_charset
36+
@charset ||= if os[:family] == 'ubuntu' && os[:release] =~ %r{^20\.04}
37+
'utf8mb3'
38+
else
39+
'utf8'
40+
end
41+
end
42+
3543
RSpec.configure do |c|
3644
c.before :suite do
3745
if os[:family] == 'debian' || os[:family] == 'ubuntu'

0 commit comments

Comments
 (0)