From 16241662d9b642b71a6958c6cff59deecc00b799 Mon Sep 17 00:00:00 2001 From: JJ Asghar Date: Wed, 4 Feb 2015 18:09:00 -0600 Subject: [PATCH] Added better testing for centos --- spec/default_spec.rb | 104 ++++++++++++++++++++++++++++--------------- spec/spec_helper.rb | 3 +- 2 files changed, 70 insertions(+), 37 deletions(-) diff --git a/spec/default_spec.rb b/spec/default_spec.rb index 3ce01355..bb722f8f 100644 --- a/spec/default_spec.rb +++ b/spec/default_spec.rb @@ -72,24 +72,7 @@ end end - describe 'debian-use_distro_version' do - let(:runner) { ChefSpec::ServerRunner.new(UBUNTU_OPTS) } - let(:node) { runner.node } - let(:chef_run) do - node.set['rabbitmq']['use_distro_version'] = true - runner.converge(described_recipe) - end - - it 'should install the logrotate package' do - expect(chef_run).to install_package('logrotate') - end - - it 'should install the rabbitmq distro package' do - expect(chef_run).to install_package('rabbitmq-server') - end - end - - describe 'debian' do + describe 'ubuntu' do let(:runner) { ChefSpec::ServerRunner.new(UBUNTU_OPTS) } let(:node) { runner.node } let(:chef_run) do @@ -110,41 +93,90 @@ it 'installs the rabbitmq-server deb_package with the default action' do expect(chef_run).to install_dpkg_package('/tmp/rabbitmq-server_3.4.3-1_all.deb') end - end - it 'creates a rabbitmq-server rpm in the cache path' do - expect(chef_run).to create_remote_file_if_missing('/tmp/rabbitmq-server-3.4.3-1.noarch.rpm') - expect(chef_run).to_not create_remote_file_if_missing('/tmp/not-rabbitmq-server-3.4.3-1.noarch.rpm') - end + describe 'uses distro version' do + before do + node.set['rabbitmq']['use_distro_version'] = true + end + + it 'should install rabbitmq-server package' do + expect(chef_run).to install_package('rabbitmq-server') + end + + it 'should install the logrotate package' do + expect(chef_run).to install_package('logrotate') + end + + end - it 'installs the rabbitmq-server rpm_package with the default action' do - expect(chef_run).to install_rpm_package('/tmp/rabbitmq-server-3.4.3-1.noarch.rpm') - expect(chef_run).to_not install_rpm_package('/tmp/not-rabbitmq-server-3.4.3-1.noarch.rpm') end - describe 'uses distro version' do - before do - node.set['rabbitmq']['use_distro_version'] = true + describe 'redhat' do + let(:runner) { ChefSpec::ServerRunner.new(REDHAT_OPTS) } + let(:node) { runner.node } + let(:chef_run) do + runner.converge(described_recipe) end - it 'should install rabbitmq-server package' do - expect(chef_run).to install_package('rabbitmq-server') + it 'creates a rabbitmq-server rpm in the cache path' do + expect(chef_run).to create_remote_file_if_missing('/tmp/rabbitmq-server-3.4.3-1.noarch.rpm') + expect(chef_run).to_not create_remote_file_if_missing('/tmp/not-rabbitmq-server-3.4.3-1.noarch.rpm') end + + it 'installs the rabbitmq-server rpm_package with the default action' do + expect(chef_run).to install_rpm_package('/tmp/rabbitmq-server-3.4.3-1.noarch.rpm') + expect(chef_run).to_not install_rpm_package('/tmp/not-rabbitmq-server-3.4.3-1.noarch.rpm') + end + + describe 'uses distro version' do + before do + node.set['rabbitmq']['use_distro_version'] = true + end + + it 'should install rabbitmq-server package' do + expect(chef_run).to install_package('rabbitmq-server') + end + end + end - describe 'redhat-use_distro_version' do - let(:runner) { ChefSpec::ServerRunner.new(REDHAT_OPTS) } + describe 'centos' do + let(:runner) { ChefSpec::ServerRunner.new(CENTOS_OPTS) } let(:node) { runner.node } let(:chef_run) do - node.set['rabbitmq']['use_distro_version'] = true runner.converge(described_recipe) end - it 'should install the rabbitmq distro package' do - expect(chef_run).to install_package('rabbitmq-server') + it 'creates a rabbitmq-server rpm in the cache path' do + expect(chef_run).to create_remote_file_if_missing('/tmp/rabbitmq-server-3.4.3-1.noarch.rpm') + expect(chef_run).to_not create_remote_file_if_missing('/tmp/not-rabbitmq-server-3.4.3-1.noarch.rpm') + end + + it 'installs the rabbitmq-server rpm_package with the default action' do + expect(chef_run).to install_rpm_package('/tmp/rabbitmq-server-3.4.3-1.noarch.rpm') + expect(chef_run).to_not install_rpm_package('/tmp/not-rabbitmq-server-3.4.3-1.noarch.rpm') + end + + it 'includes the `yum-epel` recipe' do + expect(chef_run).to include_recipe('yum-epel') + end + it 'includes the `yum-erlang_solutions` recipe' do + expect(chef_run).to include_recipe('yum-erlang_solutions') end + + describe 'uses distro version' do + before do + node.set['rabbitmq']['use_distro_version'] = true + end + + it 'should install rabbitmq-server package' do + expect(chef_run).to install_package('rabbitmq-server') + end + end + end + describe 'fedora' do let(:runner) { ChefSpec::ServerRunner.new(FEDORA_OPTS) } let(:node) { runner.node } diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index c282811c..417fb561 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -27,7 +27,8 @@ CENTOS_OPTS = { :platform => 'centos', :version => '7.0', - :log_level => LOG_LEVEL + :log_level => LOG_LEVEL, + :file_cache_path => '/tmp' } FEDORA_OPTS = { :platform => 'fedora',