require 'spec_helper' describe 'swift' do let :params do {:swift_hash_suffix => 'string'} end let :facts do { :operatingsystem => 'Ubuntu', :osfamily => 'Debian' } end let :pre_condition do "include ssh::server::install" end describe 'when no swift hash is specified' do let :params do {} end it 'should raise an exception' do expect do subject end.should raise_error(Puppet::Error) end end describe 'when ssh server install class is not included' do let :pre_condition do '' end it 'should should raise an exception' do expect do subject end.should raise_error(Puppet::Error) end end describe 'when using the default value for package_ensure' do let :file_defaults do { :owner => 'swift', :group => 'swift', :require => 'Package[swift]' } end it {should contain_file('/home/swift').with( {:ensure => 'directory', :mode => '0700' }.merge(file_defaults) )} it {should contain_file('/etc/swift').with( {:ensure => 'directory', :mode => '2770' }.merge(file_defaults) )} it {should contain_file('/var/run/swift').with( {:ensure => 'directory'}.merge(file_defaults) )} it {should contain_file('/etc/swift/swift.conf').with( {:ensure => 'present', :mode => '0660', :content => "[swift-hash]\nswift_hash_path_suffix = string\n" }.merge(file_defaults) )} it {should contain_package('swift').with_ensure('present')} end describe 'when overriding package_ensure parameter' do it 'should effect ensure state of swift package' do params[:package_ensure] = 'latest' subject.should contain_package('swift').with_ensure('latest') end end end