77 context "on #{ os } " do
88 let ( :node ) { 'foo.example.com' }
99 let ( :facts ) { facts }
10- let ( :params ) do
11- {
12- storage : param_storage ,
13- address : param_address ,
14- password : sensitive ( 'sd-secret' )
15- }
16- end
17- let ( :param_storage ) { :undef }
18- let ( :param_address ) { :undef }
1910
2011 let ( :pre_condition ) do
2112 <<~PP
@@ -25,42 +16,43 @@ class { 'bacula::client':
2516 PP
2617 end
2718
28- it { is_expected . to contain_class ( 'bacula::storage' ) }
29-
30- case facts [ :os ] [ 'family' ]
31- when 'Debian'
32- it { is_expected . to contain_package ( 'bacula-sd' ) }
33- when 'RedHat'
34- it do
35- is_expected . to contain_package ( 'bacula-storage' ) . with (
36- 'ensure' => 'installed'
37- )
19+ context 'with default parameters' do
20+ let ( :params ) do
21+ {
22+ password : sensitive ( 'sd-secret' )
23+ }
24+ end
25+ let ( :sd_package ) do
26+ {
27+ 'Debian' => 'bacula-sd' ,
28+ 'RedHat' => 'bacula-storage' ,
29+ 'OpenBSD' => 'bacula-server' ,
30+ 'FreeBSD' => 'bacula9-server'
31+ } [ facts [ :os ] [ 'family' ] ]
3832 end
39- when 'OpenBSD'
40- it { is_expected . to contain_package ( 'bacula-server' ) }
41- when 'FreeBSD'
42- it { is_expected . to contain_package ( 'bacula9-server' ) }
43- end
4433
45- context 'with default params' do
46- it { expect ( exported_resources ) . to contain_bacula__director__storage ( 'foo.example.com' ) . with ( address : 'foo.example.com' ) }
47- end
34+ it { is_expected . to compile . with_all_deps }
4835
49- context 'with a custom name' do
50- let ( :param_storage ) { 'storage.example.com' }
36+ it do
37+ expect ( exported_resources ) . to contain_bacula__director__storage ( 'foo.example.com' ) . with ( address : 'foo.example.com' )
38+ end
5139
52- it { expect ( exported_resources ) . to contain_bacula__director__storage ( 'storage.example.com' ) . with ( address : 'foo.example.com ' ) }
40+ it { is_expected . to contain_package ( sd_package ) . with ( ensure : 'installed ' ) }
5341 end
5442
55- context 'with a custom address' do
56- let ( :param_address ) { 'address.example.com' }
57-
58- it { expect ( exported_resources ) . to contain_bacula__director__storage ( 'foo.example.com' ) . with ( address : 'address.example.com' ) }
43+ context 'with all parameters set' do
44+ let ( :params ) do
45+ {
46+ password : sensitive ( 'sd-secret' ) ,
47+ address : 'address.example.com' ,
48+ storage : 'storage.example.com'
49+ }
50+ end
5951
60- context 'with a custom name' do
61- let ( :param_storage ) { 'storage.example.com' }
52+ it { is_expected . to compile . with_all_deps }
6253
63- it { expect ( exported_resources ) . to contain_bacula__director__storage ( 'storage.example.com' ) . with ( address : 'address.example.com' ) }
54+ it do
55+ expect ( exported_resources ) . to contain_bacula__director__storage ( 'storage.example.com' ) . with ( address : 'address.example.com' )
6456 end
6557 end
6658 end
0 commit comments