@@ -17,7 +17,7 @@ class { 'mysql::server':
17
17
describe 'missing privileges for user' do
18
18
it 'should fail' do
19
19
pp = <<-EOS
20
- mysql_user { 'test1@tester':
20
+ mysql_user { 'test1@tester':
21
21
ensure => present,
22
22
}
23
23
mysql_grant { 'test1@tester/test.*':
@@ -129,7 +129,35 @@ class { 'mysql::server':
129
129
end
130
130
end
131
131
132
- describe 'adding option' do
132
+ describe 'adding REQUIRE SSL option' do
133
+ it 'should work without errors' do
134
+ pp = <<-EOS
135
+ mysql_user { 'test3@tester':
136
+ ensure => present,
137
+ }
138
+ mysql_grant { 'test3@tester/test.*':
139
+ ensure => 'present',
140
+ table => 'test.*',
141
+ user => 'test3@tester',
142
+ options => ['REQUIRE SSL'],
143
+ privileges => ['SELECT', 'UPDATE'],
144
+ require => Mysql_user['test3@tester'],
145
+ }
146
+ EOS
147
+
148
+ apply_manifest ( pp , :catch_failures => true )
149
+ end
150
+
151
+ it 'should find the user' do
152
+ shell ( "mysql -NBe \" SHOW GRANTS FOR test3@tester\" " ) do |r |
153
+ expect ( r . stdout ) . to match ( /GRANT USAGE ON *.* TO 'test3'@'tester' REQUIRE SSL$/ )
154
+ expect ( r . stdout ) . to match ( /GRANT SELECT, UPDATE ON `test`.* TO 'test3'@'tester'$/ )
155
+ expect ( r . stderr ) . to be_empty
156
+ end
157
+ end
158
+ end
159
+
160
+ describe 'adding GRANT option' do
133
161
it 'should work without errors' do
134
162
pp = <<-EOS
135
163
mysql_user { 'test3@tester':
@@ -156,6 +184,62 @@ class { 'mysql::server':
156
184
end
157
185
end
158
186
187
+ describe 'adding REQUIRE X509 and GRANT option' do
188
+ it 'should work without errors' do
189
+ pp = <<-EOS
190
+ mysql_user { 'test3@tester':
191
+ ensure => present,
192
+ }
193
+ mysql_grant { 'test3@tester/test.*':
194
+ ensure => 'present',
195
+ table => 'test.*',
196
+ user => 'test3@tester',
197
+ options => ['REQUIRE X509', 'GRANT'],
198
+ privileges => ['SELECT', 'UPDATE'],
199
+ require => Mysql_user['test3@tester'],
200
+ }
201
+ EOS
202
+
203
+ apply_manifest ( pp , :catch_failures => true )
204
+ end
205
+
206
+ it 'should find the user' do
207
+ shell ( "mysql -NBe \" SHOW GRANTS FOR test3@tester\" " ) do |r |
208
+ expect ( r . stdout ) . to match ( /GRANT USAGE ON *.* TO 'test3'@'tester' REQUIRE X509$/ )
209
+ expect ( r . stdout ) . to match ( /GRANT SELECT, UPDATE ON `test`.* TO 'test3'@'tester' WITH GRANT OPTION$/ )
210
+ expect ( r . stderr ) . to be_empty
211
+ end
212
+ end
213
+ end
214
+
215
+ describe 'adding GRANT and REQUIRE X509 option' do
216
+ it 'should work without errors' do
217
+ pp = <<-EOS
218
+ mysql_user { 'test3@tester':
219
+ ensure => present,
220
+ }
221
+ mysql_grant { 'test3@tester/test.*':
222
+ ensure => 'present',
223
+ table => 'test.*',
224
+ user => 'test3@tester',
225
+ options => ['GRANT', 'REQUIRE X509'],
226
+ privileges => ['SELECT', 'UPDATE'],
227
+ require => Mysql_user['test3@tester'],
228
+ }
229
+ EOS
230
+
231
+ apply_manifest ( pp , :catch_failures => true )
232
+ end
233
+
234
+ it 'should find the user' do
235
+ shell ( "mysql -NBe \" SHOW GRANTS FOR test3@tester\" " ) do |r |
236
+ expect ( r . stdout ) . to match ( /GRANT USAGE ON *.* TO 'test3'@'tester' REQUIRE X509$/ )
237
+ expect ( r . stdout ) . to match ( /GRANT SELECT, UPDATE ON `test`.* TO 'test3'@'tester' WITH GRANT OPTION$/ )
238
+ expect ( r . stderr ) . to be_empty
239
+ end
240
+ end
241
+ end
242
+
159
243
describe 'adding all privileges without table' do
160
244
it 'should fail' do
161
245
pp = <<-EOS
0 commit comments