puppet-cinder/spec/classes/cinder_client_spec.rb
Takashi Kajinami d78df82f85 Use new openstackclient tag
This looses dependency using the new openstackclient tag, which
requires only packages actually related to openstack CLI.

Also, cinderclient is not required by cinder itself so the support
package tag can be removed.

Depends-on: https://review.opendev.org/899594
Change-Id: Ieb7656f1f9a48086a13ebeb9c5418e800bed790f
2023-11-20 00:38:09 +09:00

54 lines
1.2 KiB
Ruby

require 'spec_helper'
describe 'cinder::client' do
let :params do
{}
end
let :default_params do
{
:package_ensure => 'present'
}
end
shared_examples 'cinder client' do
let :p do
default_params.merge(params)
end
it { is_expected.to contain_class('cinder::deps') }
it { is_expected.to contain_class('cinder::params') }
it 'installs cinder client package' do
is_expected.to contain_package('python-cinderclient').with(
:name => platform_params[:client_package_name],
:ensure => p[:package_ensure],
:tag => 'openstack',
)
end
it { is_expected.to contain_class('openstacklib::openstackclient') }
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge(OSDefaults.get_facts())
end
let(:platform_params) do
case facts[:os]['family']
when 'Debian'
{ :client_package_name => 'python3-cinderclient' }
when 'RedHat'
{ :client_package_name => 'python3-cinderclient' }
end
end
it_behaves_like 'cinder client'
end
end
end