serverspec 0.6.20 → 0.6.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/serverspec/type/file.rb +1 -1
- data/lib/serverspec/version.rb +1 -1
- data/spec/darwin/commands_spec.rb +0 -53
- data/spec/darwin/file_spec.rb +376 -36
- data/spec/debian/commands_spec.rb +0 -25
- data/spec/debian/file_spec.rb +377 -39
- data/spec/debian/kernel_module_spec.rb +7 -2
- data/spec/debian/selinux_spec.rb +13 -4
- data/spec/gentoo/commands_spec.rb +0 -25
- data/spec/gentoo/file_spec.rb +376 -36
- data/spec/gentoo/kernel_module_spec.rb +7 -2
- data/spec/gentoo/selinux_spec.rb +13 -4
- data/spec/redhat/commands_spec.rb +0 -40
- data/spec/redhat/file_spec.rb +376 -39
- data/spec/redhat/kernel_module_spec.rb +7 -2
- data/spec/redhat/selinux_spec.rb +13 -4
- data/spec/smartos/commands_spec.rb +0 -58
- data/spec/solaris/commands_spec.rb +0 -56
- data/spec/solaris/file_spec.rb +376 -36
- data/spec/solaris10/commands_spec.rb +0 -57
- data/spec/support/shared_commands_examples.rb +0 -117
- metadata +2 -8
- data/spec/support/shared_file_examples.rb +0 -503
- data/spec/support/shared_kernel_module_examples.rb +0 -11
- data/spec/support/shared_selinux_examples.rb +0 -17
@@ -1,503 +0,0 @@
|
|
1
|
-
shared_examples_for 'support file be_file matcher' do |name|
|
2
|
-
describe 'be_file' do
|
3
|
-
describe file(name) do
|
4
|
-
it { should be_file }
|
5
|
-
end
|
6
|
-
|
7
|
-
describe file('/etc/invalid_file') do
|
8
|
-
it { should_not be_file }
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
shared_examples_for 'support file be_a_file matcher' do |name|
|
14
|
-
describe 'be_a_file' do
|
15
|
-
describe file(name) do
|
16
|
-
it { should be_a_file }
|
17
|
-
end
|
18
|
-
|
19
|
-
describe file('/etc/invalid_file') do
|
20
|
-
it { should_not be_a_file }
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
shared_examples_for 'support file be_directory matcher' do |name|
|
26
|
-
describe 'be_directory' do
|
27
|
-
describe file(name) do
|
28
|
-
it { should be_directory }
|
29
|
-
end
|
30
|
-
|
31
|
-
describe file('/etc/invalid_directory') do
|
32
|
-
it { should_not be_directory }
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
shared_examples_for 'support file be_a_directory matcher' do |name|
|
38
|
-
describe 'be_a_directory' do
|
39
|
-
describe file(name) do
|
40
|
-
it { should be_a_directory }
|
41
|
-
end
|
42
|
-
|
43
|
-
describe file('/etc/invalid_directory') do
|
44
|
-
it { should_not be_a_directory }
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
shared_examples_for 'support file be_socket matcher' do |name|
|
50
|
-
describe 'be_socket' do
|
51
|
-
describe file(name) do
|
52
|
-
it { should be_socket }
|
53
|
-
end
|
54
|
-
|
55
|
-
describe file('/etc/invalid_socket') do
|
56
|
-
it { should_not be_socket }
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
shared_examples_for 'support file be_a_socket matcher' do |name|
|
62
|
-
describe 'be_a_socket' do
|
63
|
-
describe file(name) do
|
64
|
-
it { should be_a_socket }
|
65
|
-
end
|
66
|
-
|
67
|
-
describe file('/etc/invalid_socket') do
|
68
|
-
it { should_not be_a_socket }
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
shared_examples_for 'support file contain matcher' do |name, pattern|
|
74
|
-
describe 'contain' do
|
75
|
-
describe file(name) do
|
76
|
-
it { should contain pattern }
|
77
|
-
end
|
78
|
-
|
79
|
-
describe file('/etc/ssh/sshd_config') do
|
80
|
-
it { should_not contain 'This is invalid text!!' }
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
shared_examples_for 'support file contain from to matcher' do |name, pattern, from, to|
|
86
|
-
describe 'contain' do
|
87
|
-
describe file(name) do
|
88
|
-
it { should contain(pattern).from(from).to(to) }
|
89
|
-
end
|
90
|
-
|
91
|
-
describe file('/etc/ssh/sshd_config') do
|
92
|
-
it { should_not contain('This is invalid text!!').from(from).to(to) }
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
shared_examples_for 'support file contain after matcher' do |name, pattern, after|
|
98
|
-
describe 'contain' do
|
99
|
-
describe file(name) do
|
100
|
-
it { should contain(pattern).after(after) }
|
101
|
-
end
|
102
|
-
|
103
|
-
describe file('/etc/ssh/sshd_config') do
|
104
|
-
it { should_not contain('This is invalid text!!').after(after) }
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
shared_examples_for 'support file contain before matcher' do |name, pattern, before|
|
110
|
-
describe 'contain' do
|
111
|
-
describe file(name) do
|
112
|
-
it { should contain(pattern).before(before) }
|
113
|
-
end
|
114
|
-
|
115
|
-
describe file('/etc/ssh/sshd_config') do
|
116
|
-
it { should_not contain('This is invalid text!!').before(before) }
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
shared_examples_for 'support file be_mode matcher' do |name, mode|
|
122
|
-
describe 'be_mode' do
|
123
|
-
describe file(name) do
|
124
|
-
it { should be_mode mode }
|
125
|
-
end
|
126
|
-
|
127
|
-
describe file('/etc/passwd') do
|
128
|
-
it { should_not be_mode 'invalid' }
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
shared_examples_for 'support file be_owned_by matcher' do |name, owner|
|
134
|
-
describe 'be_owned_by' do
|
135
|
-
describe file(name) do
|
136
|
-
it { should be_owned_by owner }
|
137
|
-
end
|
138
|
-
|
139
|
-
describe file('/etc/passwd') do
|
140
|
-
it { should_not be_owned_by 'invalid-owner' }
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
144
|
-
|
145
|
-
shared_examples_for 'support file be_grouped_into matcher' do |name, group|
|
146
|
-
describe 'be_grouped_into' do
|
147
|
-
describe file(name) do
|
148
|
-
it { should be_grouped_into group }
|
149
|
-
end
|
150
|
-
|
151
|
-
describe file('/etc/passwd') do
|
152
|
-
it { should_not be_grouped_into 'invalid-group' }
|
153
|
-
end
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
shared_examples_for 'support file be_linked_to matcher' do |name, target|
|
158
|
-
describe 'be_linked_to' do
|
159
|
-
describe file(name) do
|
160
|
-
it { should be_linked_to target }
|
161
|
-
end
|
162
|
-
|
163
|
-
describe file('dummy-link') do
|
164
|
-
it { should_not be_linked_to '/invalid/target' }
|
165
|
-
end
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
|
-
shared_examples_for 'support file be_readable matcher' do |name|
|
170
|
-
describe 'be_readable' do
|
171
|
-
describe file(name) do
|
172
|
-
let(:stdout) { "755\r\n" }
|
173
|
-
|
174
|
-
it { should be_readable }
|
175
|
-
end
|
176
|
-
|
177
|
-
describe file(name) do
|
178
|
-
let(:stdout) { "333\r\n" }
|
179
|
-
|
180
|
-
it { should_not be_readable }
|
181
|
-
end
|
182
|
-
end
|
183
|
-
end
|
184
|
-
|
185
|
-
shared_examples_for 'support file be_readable by owner matcher' do |name|
|
186
|
-
describe 'be_readable by owner' do
|
187
|
-
describe file(name) do
|
188
|
-
let(:stdout) { "400\r\n" }
|
189
|
-
it { should be_readable.by('owner') }
|
190
|
-
end
|
191
|
-
|
192
|
-
describe file(name) do
|
193
|
-
let(:stdout) { "044\r\n" }
|
194
|
-
it { should_not be_readable.by('owner') }
|
195
|
-
end
|
196
|
-
end
|
197
|
-
end
|
198
|
-
|
199
|
-
shared_examples_for 'support file be_readable by group matcher' do |name|
|
200
|
-
describe 'be_readable by group' do
|
201
|
-
describe file(name) do
|
202
|
-
let(:stdout) { "040\r\n" }
|
203
|
-
it { should be_readable.by('group') }
|
204
|
-
end
|
205
|
-
|
206
|
-
describe file(name) do
|
207
|
-
let(:stdout) { "404\r\n" }
|
208
|
-
it { should_not be_readable.by('group') }
|
209
|
-
end
|
210
|
-
end
|
211
|
-
end
|
212
|
-
|
213
|
-
shared_examples_for 'support file be_readable by others matcher' do |name|
|
214
|
-
describe 'be_readable by others' do
|
215
|
-
describe file(name) do
|
216
|
-
let(:stdout) { "044\r\n" }
|
217
|
-
it { should be_readable.by('others') }
|
218
|
-
end
|
219
|
-
|
220
|
-
describe file(name) do
|
221
|
-
let(:stdout) { "443\r\n" }
|
222
|
-
it { should_not be_readable.by('others') }
|
223
|
-
end
|
224
|
-
end
|
225
|
-
end
|
226
|
-
|
227
|
-
shared_examples_for 'support file be_readable by specific user matcher' do |name, user|
|
228
|
-
describe 'be_readable by specific user' do
|
229
|
-
describe file(name) do
|
230
|
-
it { should be_readable.by_user(user) }
|
231
|
-
end
|
232
|
-
describe file(name) do
|
233
|
-
it { should_not be_readable.by_user('invalid-user') }
|
234
|
-
end
|
235
|
-
end
|
236
|
-
end
|
237
|
-
|
238
|
-
shared_examples_for 'support file be_writable matcher' do |name|
|
239
|
-
describe 'be_writable' do
|
240
|
-
describe file(name) do
|
241
|
-
let(:stdout) { "755\r\n" }
|
242
|
-
it { should be_writable }
|
243
|
-
end
|
244
|
-
|
245
|
-
describe file(name) do
|
246
|
-
let(:stdout) { "555\r\n" }
|
247
|
-
it { should_not be_writable }
|
248
|
-
end
|
249
|
-
end
|
250
|
-
end
|
251
|
-
|
252
|
-
shared_examples_for 'support file be_writable by owner matcher' do |name|
|
253
|
-
describe 'be_writable_by_owner' do
|
254
|
-
describe file(name) do
|
255
|
-
let(:stdout) { "200\r\n" }
|
256
|
-
it { should be_writable.by('owner') }
|
257
|
-
end
|
258
|
-
|
259
|
-
describe file(name) do
|
260
|
-
let(:stdout) { "555\r\n" }
|
261
|
-
it { should_not be_writable.by('owner') }
|
262
|
-
end
|
263
|
-
end
|
264
|
-
end
|
265
|
-
|
266
|
-
shared_examples_for 'support file be_writable by group matcher' do |name|
|
267
|
-
describe 'be_writable_by_group' do
|
268
|
-
describe file(name) do
|
269
|
-
let(:stdout) { "030\r\n" }
|
270
|
-
it { should be_writable.by('group') }
|
271
|
-
end
|
272
|
-
|
273
|
-
describe file(name) do
|
274
|
-
let(:stdout) { "555\r\n" }
|
275
|
-
it { should_not be_writable.by('group') }
|
276
|
-
end
|
277
|
-
end
|
278
|
-
end
|
279
|
-
|
280
|
-
shared_examples_for 'support file be_writable by others matcher' do |name|
|
281
|
-
describe 'be_writable_by_others' do
|
282
|
-
describe file(name) do
|
283
|
-
let(:stdout) { "666\r\n" }
|
284
|
-
it { should be_writable.by('others') }
|
285
|
-
end
|
286
|
-
|
287
|
-
describe file(name) do
|
288
|
-
let(:stdout) { "555\r\n" }
|
289
|
-
it { should_not be_writable.by('others') }
|
290
|
-
end
|
291
|
-
end
|
292
|
-
end
|
293
|
-
|
294
|
-
shared_examples_for 'support file be_writable by specific user matcher' do |name, user|
|
295
|
-
describe 'be_writable by specific user' do
|
296
|
-
describe file(name) do
|
297
|
-
it { should be_writable.by_user(user) }
|
298
|
-
end
|
299
|
-
describe file(name) do
|
300
|
-
it { should_not be_writable.by_user('invalid-user') }
|
301
|
-
end
|
302
|
-
end
|
303
|
-
end
|
304
|
-
|
305
|
-
shared_examples_for 'support file be_executable matcher' do |name|
|
306
|
-
describe 'be_executable' do
|
307
|
-
describe file(name) do
|
308
|
-
let(:stdout) { "755\r\n" }
|
309
|
-
it { should be_executable }
|
310
|
-
end
|
311
|
-
|
312
|
-
describe file(name) do
|
313
|
-
let(:stdout) { "666\r\n" }
|
314
|
-
it { should_not be_executable }
|
315
|
-
end
|
316
|
-
end
|
317
|
-
end
|
318
|
-
|
319
|
-
shared_examples_for 'support file be_executable by owner matcher' do |name|
|
320
|
-
describe 'be_executable by owner' do
|
321
|
-
describe file(name) do
|
322
|
-
let(:stdout) { "100\r\n" }
|
323
|
-
it { should be_executable.by('owner') }
|
324
|
-
end
|
325
|
-
|
326
|
-
describe file(name) do
|
327
|
-
let(:stdout) { "666\r\n" }
|
328
|
-
it { should_not be_executable.by('owner') }
|
329
|
-
end
|
330
|
-
end
|
331
|
-
end
|
332
|
-
|
333
|
-
shared_examples_for 'support file be_executable by group matcher' do |name|
|
334
|
-
describe 'be_executable by group' do
|
335
|
-
describe file(name) do
|
336
|
-
let(:stdout) { "070\r\n" }
|
337
|
-
it { should be_executable.by('group') }
|
338
|
-
end
|
339
|
-
|
340
|
-
describe file(name) do
|
341
|
-
let(:stdout) { "666\r\n" }
|
342
|
-
it { should_not be_executable.by('group') }
|
343
|
-
end
|
344
|
-
end
|
345
|
-
end
|
346
|
-
|
347
|
-
shared_examples_for 'support file be_executable by others matcher' do |name|
|
348
|
-
describe 'be_executable by others' do
|
349
|
-
describe file(name) do
|
350
|
-
let(:stdout) { "001\r\n" }
|
351
|
-
it { should be_executable.by('others') }
|
352
|
-
end
|
353
|
-
|
354
|
-
describe file(name) do
|
355
|
-
let(:stdout) { "666\r\n" }
|
356
|
-
it { should_not be_executable.by('others') }
|
357
|
-
end
|
358
|
-
end
|
359
|
-
end
|
360
|
-
|
361
|
-
shared_examples_for 'support file be_executable by specific user matcher' do |name, user|
|
362
|
-
describe 'be_writable by specific user' do
|
363
|
-
describe file(name) do
|
364
|
-
it { should be_executable.by_user(user) }
|
365
|
-
end
|
366
|
-
describe file(name) do
|
367
|
-
it { should_not be_executable.by_user('invalid-user') }
|
368
|
-
end
|
369
|
-
end
|
370
|
-
end
|
371
|
-
|
372
|
-
shared_examples_for 'support file be_mounted matcher' do |name|
|
373
|
-
describe 'be_mounted' do
|
374
|
-
describe file(name) do
|
375
|
-
it { should be_mounted }
|
376
|
-
end
|
377
|
-
|
378
|
-
describe file('/etc/invalid-mount') do
|
379
|
-
it { should_not be_mounted }
|
380
|
-
end
|
381
|
-
end
|
382
|
-
end
|
383
|
-
|
384
|
-
shared_examples_for 'support file be_mounted with matcher' do |name|
|
385
|
-
describe 'be_mounted.with' do
|
386
|
-
let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
|
387
|
-
|
388
|
-
describe file(name) do
|
389
|
-
it { should be_mounted.with( :type => 'ext4' ) }
|
390
|
-
end
|
391
|
-
|
392
|
-
describe file(name) do
|
393
|
-
it { should be_mounted.with( :type => 'ext4', :options => { :rw => true } ) }
|
394
|
-
end
|
395
|
-
|
396
|
-
describe file(name) do
|
397
|
-
it { should be_mounted.with( :type => 'ext4', :options => { :mode => 620 } ) }
|
398
|
-
end
|
399
|
-
|
400
|
-
describe file(name) do
|
401
|
-
it { should be_mounted.with( :type => 'ext4', :device => '/dev/mapper/VolGroup-lv_root' ) }
|
402
|
-
end
|
403
|
-
|
404
|
-
describe file(name) do
|
405
|
-
it { should_not be_mounted.with( :type => 'xfs' ) }
|
406
|
-
end
|
407
|
-
|
408
|
-
describe file(name) do
|
409
|
-
it { should_not be_mounted.with( :type => 'ext4', :options => { :rw => false } ) }
|
410
|
-
end
|
411
|
-
|
412
|
-
describe file(name) do
|
413
|
-
it { should_not be_mounted.with( :type => 'ext4', :options => { :mode => 600 } ) }
|
414
|
-
end
|
415
|
-
|
416
|
-
describe file(name) do
|
417
|
-
it { should_not be_mounted.with( :type => 'xfs', :device => '/dev/mapper/VolGroup-lv_root' ) }
|
418
|
-
end
|
419
|
-
|
420
|
-
describe file(name) do
|
421
|
-
it { should_not be_mounted.with( :type => 'ext4', :device => '/dev/mapper/VolGroup-lv_r00t' ) }
|
422
|
-
end
|
423
|
-
|
424
|
-
describe file('/etc/invalid-mount') do
|
425
|
-
it { should_not be_mounted.with( :type => 'ext4' ) }
|
426
|
-
end
|
427
|
-
end
|
428
|
-
end
|
429
|
-
|
430
|
-
|
431
|
-
shared_examples_for 'support file be_mounted only with matcher' do |name|
|
432
|
-
describe 'be_mounted.with' do
|
433
|
-
let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
|
434
|
-
|
435
|
-
describe file(name) do
|
436
|
-
it do
|
437
|
-
should be_mounted.only_with(
|
438
|
-
:device => '/dev/mapper/VolGroup-lv_root',
|
439
|
-
:type => 'ext4',
|
440
|
-
:options => {
|
441
|
-
:rw => true,
|
442
|
-
:mode => 620,
|
443
|
-
}
|
444
|
-
)
|
445
|
-
end
|
446
|
-
end
|
447
|
-
|
448
|
-
describe file(name) do
|
449
|
-
it do
|
450
|
-
should_not be_mounted.only_with(
|
451
|
-
:device => '/dev/mapper/VolGroup-lv_root',
|
452
|
-
:type => 'ext4',
|
453
|
-
:options => {
|
454
|
-
:rw => true,
|
455
|
-
:mode => 620,
|
456
|
-
:bind => true,
|
457
|
-
}
|
458
|
-
)
|
459
|
-
end
|
460
|
-
end
|
461
|
-
|
462
|
-
describe file(name) do
|
463
|
-
it do
|
464
|
-
should_not be_mounted.only_with(
|
465
|
-
:device => '/dev/mapper/VolGroup-lv_root',
|
466
|
-
:type => 'ext4',
|
467
|
-
:options => {
|
468
|
-
:rw => true,
|
469
|
-
}
|
470
|
-
)
|
471
|
-
end
|
472
|
-
end
|
473
|
-
|
474
|
-
describe file(name) do
|
475
|
-
it do
|
476
|
-
should_not be_mounted.only_with(
|
477
|
-
:device => '/dev/mapper/VolGroup-lv_roooooooooot',
|
478
|
-
:type => 'ext4',
|
479
|
-
:options => {
|
480
|
-
:rw => true,
|
481
|
-
:mode => 620,
|
482
|
-
}
|
483
|
-
)
|
484
|
-
end
|
485
|
-
end
|
486
|
-
|
487
|
-
describe file('/etc/invalid-mount') do
|
488
|
-
it { should_not be_mounted.only_with( :type => 'ext4' ) }
|
489
|
-
end
|
490
|
-
end
|
491
|
-
end
|
492
|
-
|
493
|
-
shared_examples_for 'support file match_md5checksum matcher' do |name, pattern|
|
494
|
-
describe 'match_md5checksum' do
|
495
|
-
describe file(name) do
|
496
|
-
it { should match_md5checksum pattern }
|
497
|
-
end
|
498
|
-
|
499
|
-
describe file('invalid-file') do
|
500
|
-
it { should_not match_md5checksum 'INVALIDMD5CHECKSUM' }
|
501
|
-
end
|
502
|
-
end
|
503
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
shared_examples_for 'support kernel_module be_loaded matcher' do |name|
|
2
|
-
describe 'be_loaded' do
|
3
|
-
describe kernel_module(name) do
|
4
|
-
it { should be_loaded }
|
5
|
-
end
|
6
|
-
|
7
|
-
describe kernel_module('invalid-module') do
|
8
|
-
it { should_not be_loaded }
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
shared_examples_for 'support selinux be_enforcing matcher' do
|
2
|
-
describe selinux do
|
3
|
-
it { should be_enforcing }
|
4
|
-
end
|
5
|
-
end
|
6
|
-
|
7
|
-
shared_examples_for 'support selinux be_permissive matcher' do
|
8
|
-
describe selinux do
|
9
|
-
it { should be_permissive }
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
shared_examples_for 'support selinux be_disabled matcher' do
|
14
|
-
describe selinux do
|
15
|
-
it { should be_disabled }
|
16
|
-
end
|
17
|
-
end
|