
This commit adds test coverage that verifies the behavior of the loopback related class parameters.
60 lines
1.5 KiB
Ruby
60 lines
1.5 KiB
Ruby
require 'spec_helper'
|
|
describe 'swift::storage::xfs' do
|
|
let :title do
|
|
'foo'
|
|
end
|
|
describe 'when a device is not specified' do
|
|
it 'should raise an error' do
|
|
expect do
|
|
subject
|
|
end.should raise_error(Puppet::Error)
|
|
end
|
|
end
|
|
|
|
describe 'when a device is specified' do
|
|
let :default_params do
|
|
{
|
|
:device => 'some_device',
|
|
:byte_size => '1024',
|
|
:mnt_base_dir => '/srv/node',
|
|
:loopback => false
|
|
}
|
|
end
|
|
|
|
[{:device => 'some_device'},
|
|
{
|
|
:device => 'some_device',
|
|
:byte_size => 1,
|
|
:mnt_base_dir => '/mnt/foo',
|
|
:loopback => true
|
|
}
|
|
].each do |param_set|
|
|
|
|
describe "#{param_set == {} ? "using default" : "specifying"} class parameters" do
|
|
let :param_hash do
|
|
default_params.merge(param_set)
|
|
end
|
|
|
|
let :params do
|
|
param_set
|
|
end
|
|
|
|
it { should contain_exec("mkfs-foo").with(
|
|
:command => "mkfs.xfs -i size=#{param_hash[:byte_size]} #{param_hash[:device]}",
|
|
:path => '/sbin/',
|
|
:refreshonly => true,
|
|
:require => 'Package[xfsprogs]'
|
|
)}
|
|
|
|
it { should contain_swift__storage__mount('foo').with(
|
|
:device => param_hash[:device],
|
|
:mnt_base_dir => param_hash[:mnt_base_dir],
|
|
:loopback => param_hash[:loopback],
|
|
:subscribe => 'Exec[mkfs-foo]'
|
|
)}
|
|
|
|
end
|
|
end
|
|
end
|
|
end
|