diff --git a/spec/api-redhat_spec.rb b/spec/api-redhat_spec.rb index 6e07fac..64bd04c 100644 --- a/spec/api-redhat_spec.rb +++ b/spec/api-redhat_spec.rb @@ -1,25 +1,34 @@ require_relative 'spec_helper' describe 'openstack-image::api' do - describe 'redhat' do - let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) } - let(:node) { runner.node } - cached(:chef_run) do - runner.converge(described_recipe) - end + ALL_RHEL.each do |p| + context "redhat #{p[:version]}" do + let(:runner) { ChefSpec::SoloRunner.new(p) } + let(:node) { runner.node } + cached(:chef_run) do + runner.converge(described_recipe) + end - include_context 'image-stubs' + include_context 'image-stubs' - it 'does not upgrade keystoneclient package' do - expect(chef_run).not_to upgrade_package('python-keystoneclient') - end + case p + when REDHAT_7 + it 'does not upgrade keystoneclient package' do + expect(chef_run).not_to upgrade_package('python-keystoneclient') + end + when REDHAT_8 + it 'does not upgrade keystoneclient package' do + expect(chef_run).not_to upgrade_package('python3-keystoneclient') + end + end - it 'does not upgrade swift packages by default' do - expect(chef_run).not_to upgrade_package('openstack-swift') - end + it 'does not upgrade swift packages by default' do + expect(chef_run).not_to upgrade_package('openstack-swift') + end - it do - expect(chef_run).to enable_service('openstack-glance-api') + it do + expect(chef_run).to enable_service('openstack-glance-api') + end end end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index adf0fa1..ebe4bd5 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -8,10 +8,21 @@ RSpec.configure do |config| config.log_level = :warn end -REDHAT_OPTS = { +REDHAT_7 = { platform: 'redhat', version: '7', }.freeze + +REDHAT_8 = { + platform: 'redhat', + version: '8', +}.freeze + +ALL_RHEL = [ + REDHAT_7, + REDHAT_8, +].freeze + UBUNTU_OPTS = { platform: 'ubuntu', version: '18.04', diff --git a/spec/swift_store-redhat_spec.rb b/spec/swift_store-redhat_spec.rb index 89efceb..6e4d872 100644 --- a/spec/swift_store-redhat_spec.rb +++ b/spec/swift_store-redhat_spec.rb @@ -1,15 +1,17 @@ require_relative 'spec_helper' describe 'openstack-image::swift_store' do - describe 'ubuntu' do - let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) } - let(:node) { runner.node } - cached(:chef_run) do - runner.converge(described_recipe) - end - include_context 'image-stubs' - it do - expect(chef_run).to upgrade_package('openstack-swift') + ALL_RHEL.each do |p| + context "redhat #{p[:version]}" do + let(:runner) { ChefSpec::SoloRunner.new(p) } + let(:node) { runner.node } + cached(:chef_run) do + runner.converge(described_recipe) + end + include_context 'image-stubs' + it do + expect(chef_run).to upgrade_package('openstack-swift') + end end end end