puppet-swift/spec/classes/swift_storage_spec.rb
Dan Bode f07363b6af Update spec tests
This commit updates the spec tests so that they should work.

- the ssh module that they depend on had introduced a dependency on
  the operatingsystem fact
- tests had not been updated to reflect using xinetd and not the service
to run the rsync daemon
- update travis-ci to include the xinetd module
2012-03-13 16:30:19 -07:00

48 lines
1.2 KiB
Ruby

require 'spec_helper'
describe 'swift::storage' do
# TODO I am not testing the upstart code b/c it should be temporary
let :facts do
{:operatingsystem => 'Ubuntu'}
end
describe 'when required classes are specified' do
let :pre_condition do
"class { 'swift': swift_hash_suffix => 'changeme' }
include ssh::server::install
"
end
describe 'when the local net ip is specified' do
let :params do
{
:storage_local_net_ip => '127.0.0.1',
}
end
['xfsprogs', 'parted'].each do |present_package|
it { should contain_package(present_package).with_ensure('present') }
end
it { should contain_class('rsync::server').with(
{:use_xinetd => true,
:address => params[:storage_local_net_ip]
}
)}
end
describe 'when local net ip is not specified' do
it 'should fail' do
expect do
subject
end.should raise_error(Puppet::Error, /Must pass storage_local_net_ip/)
end
end
end
describe 'when the dependencies are not specified' do
it 'should fail' do
expect { subject }.should raise_error(Puppet::Error)
end
end
end