diff --git a/attributes/default.rb b/attributes/default.rb index a38475b..ff265c1 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -55,7 +55,7 @@ default['postfix']['main']['mynetworks'] = '127.0.0.0/8' default['postfix']['main']['inet_interfaces'] = 'loopback-only' # Conditional attributes -case node['platform'] +case node['platform_family'] when 'smartos' default['postfix']['main']['smtpd_use_tls'] = 'no' default['postfix']['main']['smtp_use_tls'] = 'no' diff --git a/spec/default_spec.rb b/spec/default_spec.rb new file mode 100644 index 0000000..9b4da58 --- /dev/null +++ b/spec/default_spec.rb @@ -0,0 +1,37 @@ +require 'spec_helper' + +describe 'postfix::default' do + before do + stub_command('/usr/bin/test /etc/alternatives/mta -ef /usr/sbin/sendmail.postfix').and_return(true) + end + + context 'on Centos 6.5' do + let(:chef_run) do + ChefSpec::Runner.new(platform: 'centos', version: 6.5).converge(described_recipe) + end + + it '[COOK-4423] renders file main.cf with /etc/pki/tls/cert.pem' do + expect(chef_run).to render_file('/etc/postfix/main.cf').with_content(%r{smtp_tls_CAfile += +/etc/pki/tls/cert.pem}) + end + end + + context 'on SmartOS' do + let(:chef_run) do + ChefSpec::Runner.new(platform: 'smartos', version: 'joyent_20130111T180733Z').converge(described_recipe) + end + + it '[COOK-4423] renders file main.cf without smtp_use_tls' do + expect(chef_run).to render_file('/opt/local/etc/postfix/main.cf').with_content(%r{smtp_use_tls += +no}) + end + end + + context 'on Ubuntu 13.04' do + let(:chef_run) do + ChefSpec::Runner.new(platform: 'ubuntu', version: 13.04).converge(described_recipe) + end + + it '[COOK-4423] renders file main.cf with /etc/postfix/cacert.pem' do + expect(chef_run).to render_file('/etc/postfix/main.cf').with_content(%r{smtp_tls_CAfile += +/etc/postfix/cacert.pem}) + end + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 0000000..1dd5126 --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,2 @@ +require 'chefspec' +require 'chefspec/berkshelf'