fuel-library/deployment/puppet/rsync/spec/defines/put_spec.rb
Stanislaw Bogatkin a11e8ffd2d Sync puppet module rsync to v0.3.0 from upstream
v0.3.0 sha1: d0707c4ae3674b63c2193c0012ceb9fa90ed41b6
Repo link: https://github.com/puppetlabs/puppetlabs-rsync
Implements: blueprint merge-openstack-puppet-modules

Change-Id: I873975f11ad5d839c5a52c2c3301b1f63fe92f5f
2014-06-26 20:08:21 +04:00

118 lines
3.2 KiB
Ruby

require 'spec_helper'
describe 'rsync::put', :type => :define do
let :title do
'foobar'
end
let :common_params do
{
:source => 'example.com'
}
end
describe "when using default class paramaters" do
let :params do
common_params
end
it {
should contain_exec("rsync foobar").with({
'command' => 'rsync -q -a example.com foobar',
'onlyif' => "test `rsync --dry-run --itemize-changes -a example.com foobar | wc -l` -gt 0",
'timeout' => '900'
})
}
end
describe "when setting the timeout" do
let :params do
common_params.merge( { :timeout => '200' } )
end
it {
should contain_exec("rsync foobar").with({ 'timeout' => '200' })
}
end
describe "when setting a user but not a keyfile" do
let :params do
common_params.merge({ :user => 'mr_baz' })
end
it {
should contain_exec("rsync foobar").with({
'command' => 'rsync -q -a -e \'ssh -i /home/mr_baz/.ssh/id_rsa -l mr_baz\' example.com mr_baz@foobar',
'onlyif' => "test `rsync --dry-run --itemize-changes -a -e \'ssh -i /home/mr_baz/.ssh/id_rsa -l mr_baz\' example.com mr_baz@foobar | wc -l` -gt 0",
})
}
end
describe "when setting a keyfile but not a user" do
let :params do
common_params.merge( { :keyfile => "/path/to/keyfile" } )
end
it {
should contain_exec("rsync foobar").with({
'command' => 'rsync -q -a example.com foobar',
'onlyif' => "test `rsync --dry-run --itemize-changes -a example.com foobar | wc -l` -gt 0",
})
}
end
describe "when setting a user and a keyfile" do
let :params do
common_params.merge({
:user => 'mr_baz',
:keyfile => '/path/to/keyfile'
})
end
it {
should contain_exec("rsync foobar").with({
'command' => 'rsync -q -a -e \'ssh -i /path/to/keyfile -l mr_baz\' example.com mr_baz@foobar',
'onlyif' => "test `rsync --dry-run --itemize-changes -a -e \'ssh -i /path/to/keyfile -l mr_baz\' example.com mr_baz@foobar | wc -l` -gt 0",
})
}
end
describe "when setting an exclude path" do
let :params do
common_params.merge({ :exclude => '/path/to/exclude/' })
end
it {
should contain_exec("rsync foobar").with({
'command' => 'rsync -q -a --exclude=/path/to/exclude/ example.com foobar',
'onlyif' => "test `rsync --dry-run --itemize-changes -a --exclude=/path/to/exclude/ example.com foobar | wc -l` -gt 0",
})
}
end
describe "when enabling purge" do
let :params do
common_params.merge({ :purge => true })
end
it {
should contain_exec("rsync foobar").with({
'command' => 'rsync -q -a --delete example.com foobar',
'onlyif' => "test `rsync --dry-run --itemize-changes -a --delete example.com foobar | wc -l` -gt 0"
})
}
end
describe "when setting a custom path" do
let :params do
common_params.merge({ :path => 'barfoo' })
end
it {
should contain_exec("rsync foobar").with({
'command' => 'rsync -q -a example.com barfoo',
'onlyif' => "test `rsync --dry-run --itemize-changes -a example.com barfoo | wc -l` -gt 0"
})
}
end
end