Improve test coverage of swift::storage::disk

Change-Id: I746016635f36f0940c0515c4bf49fec11c43c602
This commit is contained in:
Takashi Kajinami 2022-05-22 23:57:51 +09:00
parent 12ce6b7631
commit 7f96ac35d4

View File

@ -1,35 +1,67 @@
require 'spec_helper' require 'spec_helper'
describe 'swift::storage::disk' do describe 'swift::storage::disk' do
# TODO add more unit tests
let :title do let :title do
'sdb' 'sdb'
end end
let :params do
{
:base_dir => '/dev',
:mnt_base_dir => '/srv/node',
:byte_size => '1024',
:ext_args => 'mkpart primary 0% 100%',
}
end
shared_examples 'swift::storage::disk' do shared_examples 'swift::storage::disk' do
it { is_expected.to contain_exec("create_partition_label-sdb").with( context 'with defaults' do
:command => "parted -s #{params[:base_dir]}/sdb mklabel gpt #{params[:ext_args]}", let :params do
:path => ["/usr/bin/", "/sbin", "/bin"], {}
:onlyif => ["test -b #{params[:base_dir]}/sdb","parted #{params[:base_dir]}/sdb print|tail -1|grep 'Error'"], end
:before => 'Anchor[swift::config::end]'
)}
it { is_expected.to contain_swift__storage__xfs('sdb').with( it { is_expected.to contain_exec('create_partition_label-sdb').with(
:device => '/dev/sdb', :command => 'parted -s /dev/sdb mklabel gpt ',
:mnt_base_dir => '/srv/node', :path => ['/usr/bin/', '/sbin', '/bin'],
:byte_size => '1024', :onlyif => ['test -b /dev/sdb', 'parted /dev/sdb print|tail -1|grep \'Error\''],
:loopback => false :before => 'Anchor[swift::config::end]'
) } )}
it { is_expected.to contain_swift__storage__xfs('sdb').with(
:device => '/dev/sdb',
:mnt_base_dir => '/srv/node',
:byte_size => '1024',
:loopback => false,
:manage_filesystem => true,
) }
end
context 'with parameters' do
let :params do
{
:mnt_base_dir => '/srv/data',
:byte_size => '2048',
:ext_args => 'mkpart primary 0% 100%',
:manage_filesystem => false,
}
end
it { is_expected.to contain_exec('create_partition_label-sdb').with(
:command => 'parted -s /dev/sdb mklabel gpt mkpart primary 0% 100%',
:path => ['/usr/bin/', '/sbin', '/bin'],
:onlyif => ['test -b /dev/sdb', 'parted /dev/sdb print|tail -1|grep \'Error\''],
:before => 'Anchor[swift::config::end]'
)}
it { is_expected.to contain_swift__storage__xfs('sdb').with(
:device => '/dev/sdb',
:mnt_base_dir => '/srv/data',
:byte_size => '2048',
:loopback => false,
:manage_filesystem => false,
) }
end
context 'with partition is not managed' do
let :params do
{
:manage_partition => false
}
end
it { is_expected.to_not contain_exec('create_partition_label-sdb') }
end
end end
on_supported_os({ on_supported_os({