puppet-manila/spec/defines/manila_backend_dellemc_isilon_spec.rb
Takashi Kajinami 3476785793 [Dell EMC drivers] Define defaults for emc_share_backend
Currently the emc_share_backend parameter is required. However this
parameter should be set according to the backend and because we provide
independent resource types for individual backends, the expected value
is predictable.

This change defines the default values and gets rid of that redundant
requirement. The parameter is still left so that this change can be
backportable.

Change-Id: Ie71914a547377efd8933835aeaf8d08c5e917b12
2021-11-17 01:09:24 +00:00

79 lines
2.1 KiB
Ruby

require 'spec_helper'
describe 'manila::backend::dellemc_isilon' do
let(:title) {'dellemc_isilon'}
let :required_params do
{
:emc_nas_login => 'admin',
:emc_nas_password => 'password',
:emc_nas_server => '127.0.0.2',
}
end
let :default_params do
{
:emc_share_backend => 'isilon',
:backend_availability_zone => '<SERVICE DEFAULT>',
:emc_nas_root_dir => '<SERVICE DEFAULT>',
:emc_nas_server_port => 8080,
:emc_nas_server_secure => true,
}
end
shared_examples_for 'dell emc isilon share driver' do
let :params_hash do
default_params.merge(params)
end
it 'configures dell emc isilon share driver' do
is_expected.to contain_manila_config("dellemc_isilon/share_driver").with_value(
'manila.share.drivers.dell_emc.driver.EMCShareDriver')
is_expected.to contain_manila_config("dellemc_isilon/driver_handles_share_servers").with_value(false)
params_hash.each_pair do |config,value|
is_expected.to contain_manila_config("dellemc_isilon/#{config}").with_value( value )
end
end
it 'marks emc_nas_password as secret' do
is_expected.to contain_manila_config("dellemc_isilon/emc_nas_password").with_secret( true )
end
end
shared_examples 'manila::backend::dellemc_isilon' do
context 'with default parameters' do
let :params do
required_params
end
it_configures 'dell emc isilon share driver'
end
context 'with provided parameters' do
let :params do
required_params.merge!({
:emc_nas_root_dir => 'myroot',
:emc_nas_server_port => 8000,
:emc_nas_server_secure => false,
:backend_availability_zone => 'my_zone',
})
end
it_configures 'dell emc isilon share driver'
end
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
it_behaves_like 'manila::backend::dellemc_isilon'
end
end
end