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'} end [{}, {:byte_size => 1, :mnt_base_dir => '/mnt/foo'} ].each do |param_set| describe "when #{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("exec-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], :subscribe => 'Exec[mkfs-foo']} )} end end end end