From 6eccfa3d552a67d470146a0c2f9f9a74c9607b6a Mon Sep 17 00:00:00 2001 From: "Eric G. Wolfe" Date: Wed, 19 Mar 2014 10:25:27 -0400 Subject: [PATCH] [COOK-4423] - use platform_family, find cert.pem on rhel Signed-off-by: Sean OMeara --- attributes/default.rb | 2 +- spec/default_spec.rb | 37 +++++++++++++++++++++++++++++++++++++ spec/spec_helper.rb | 2 ++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 spec/default_spec.rb create mode 100644 spec/spec_helper.rb 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'