puppet-ironic/spec/classes/ironic_client_spec.rb
Takashi Kajinami 1e8d747269 Use new openstackclient tag
The new openstackclient tag was added so that we can get all resources
about openstack CLI more easily. This adds this tag to ironicclient
because the plugin provides some sub-commands.

This also removes the support package tag because the client package is
not at all used by ironic itself.

In addition, openstackclient is needed to query keystone api when
transform in ironic_config is used.

Depends-on: https://review.opendev.org/899594
Change-Id: I46dcf0f8e7f9b72d27317d310bffdd25653a25cf
2023-11-20 01:07:52 +09:00

63 lines
1.7 KiB
Ruby

#
# Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
#
# Author: Emilien Macchi <emilien.macchi@enovance.com>
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Unit tests for ironic::client
#
require 'spec_helper'
describe 'ironic::client' do
shared_examples_for 'ironic client' do
it { is_expected.to contain_class('ironic::deps') }
it { is_expected.to contain_class('ironic::params') }
it 'installs ironic client package' do
is_expected.to contain_package('python-ironicclient').with(
:ensure => 'present',
:name => platform_params[:client_package],
:tag => ['openstack', 'openstackclient']
)
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 => 'python3-ironicclient' }
when 'RedHat'
{ :client_package => 'python3-ironicclient' }
end
end
it_behaves_like 'ironic client'
end
end
end