diff --git a/spec/classes/postfix_spec.rb b/spec/classes/postfix_spec.rb index 7645aa7faa41ec03701d2668e76ec482d9dbcda3..27fb19b9b72b40b48e58a9daa0474a7f948fcb5d 100644 --- a/spec/classes/postfix_spec.rb +++ b/spec/classes/postfix_spec.rb @@ -67,4 +67,54 @@ describe 'postfix' do ) } end end + + context 'when setting parameters' do + context 'when on Debian' do + context "when setting smtp_listen to 'all'" do + let (:facts) { { + :operatingsystem => 'Debian', + :osfamily => 'Debian', + :fqdn => 'fqdn.example.com', + } } + + let (:params) { { + :smtp_listen => 'all', + :root_mail_recipient => 'foo', + :use_amavisd => 'yes', + :use_dovecot_lda => 'yes', + :use_schleuder => 'yes', + :use_sympa => 'yes', + :mail_user => 'bar', + :myorigin => 'localhost', + :inet_interfaces => 'localhost2', + } } + + it { should contain_package('postfix') } + it { should contain_package('mailx') } + + it { should contain_file('/etc/mailname').without('seltype').with_content("fqdn.example.com\n") } + it { should contain_file('/etc/aliases').without('seltype').with_content("# file managed by puppet\n") } + it { should contain_exec('newaliases').with_refreshonly('true') } + it { + should contain_file('/etc/postfix/master.cf').without('seltype').with_content( + /smtp inet n - - - - smtpd/ + ) } + it { should contain_file('/etc/postfix/main.cf').without('seltype') } + + it { should contain_postfix__config('myorigin') } + it { should contain_postfix__config('alias_maps') } + it { should contain_postfix__config('inet_interfaces') } + + it { should contain_mailalias('root') } + + it { + should contain_service('postfix').with( + :ensure => 'running', + :enable => 'true', + :hasstatus => 'true', + :restart => '/etc/init.d/postfix reload' + ) } + end + end + end end