2013-09-14 01:39:09 +02:00
require 'spec_helper'
2013-09-16 09:53:01 +02:00
describe 'apt::unattended_upgrades' , :type = > :class do
2013-09-14 01:39:09 +02:00
it { should contain_package ( " unattended-upgrades " ) }
it {
should create_file ( " /etc/apt/apt.conf.d/50unattended-upgrades " ) . with ( {
" owner " = > " root " ,
" group " = > " root " ,
" mode " = > " 0644 " ,
} )
}
it {
should create_file ( " /etc/apt/apt.conf.d/10periodic " ) . with ( {
" owner " = > " root " ,
" group " = > " root " ,
" mode " = > " 0644 " ,
} )
}
describe " with origins => ['ubuntu:precise-security'] " do
let :params do
{ :origins = > [ 'ubuntu:precise-security' ] }
end
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^Unattended-Upgrade::Allowed-Origins \ { \ n \ t"ubuntu:precise-security"; \ n \ };$ / ) }
end
describe " with blacklist => [] " do
let :params do
{ :blacklist = > [ ] }
end
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^Unattended-Upgrade::Package-Blacklist \ { \ n \ };$ / ) }
end
describe " with update => 2 " do
let :params do
{ :update = > " 2 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::Update-Package-Lists "2";$ / ) }
end
describe " with download => 2 " do
let :params do
{ :download = > " 2 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::Download-Upgradeable-Packages "2";$ / ) }
end
describe " with upgrade => 2 " do
let :params do
{ :upgrade = > " 2 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::Unattended-Upgrade "2";$ / ) }
end
describe " with autoclean => 2 " do
let :params do
{ :autoclean = > " 2 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::AutocleanInterval "2";$ / ) }
end
describe " with auto_fix => false " do
let :params do
{ :auto_fix = > " false " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^Unattended-Upgrade::AutoFixInterruptedDpkg "false";$ / ) }
end
describe " with minimal_steps => true " do
let :params do
{ :minimal_steps = > " true " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^Unattended-Upgrade::MinimalSteps "true";$ / ) }
end
describe " with install_on_shutdown => true " do
let :params do
{ :install_on_shutdown = > " true " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^Unattended-Upgrade::InstallOnShutdown "true";$ / ) }
end
describe " with mail_to => NONE " do
let :params do
{ :mail_to = > " NONE " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^ \/ \/ 'mailx' must be installed. \ n$ / ) }
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^ \/ \/ is to always send a mail if Unattended-Upgrade::Mail is set \ n$ / ) }
end
describe " with mail_to => user@website, mail_only_on_error => true " do
let :params do
{ :mail_to = > " user@website " ,
:mail_only_on_error = > " true " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^Unattended-Upgrade::Mail "user@website";$ / ) }
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^Unattended-Upgrade::MailOnlyOnError "true";$ / ) }
end
describe " with remove_unused => false " do
let :params do
{ :remove_unused = > " false " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^Unattended-Upgrade::Remove-Unused-Dependencies "false";$ / ) }
end
describe " with auto_reboot => true " do
let :params do
{ :auto_reboot = > " true " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^Unattended-Upgrade::Automatic-Reboot "true";$ / ) }
end
describe " with dl_limit => 70 " do
let :params do
{ :dl_limit = > " 70 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/50unattended-upgrades' ) . with_content ( / ^Acquire::http::Dl-Limit "70";$ / ) }
end
describe " with enable => 0 " do
let :params do
{ :enable = > " 0 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::Enable "0";$ / ) }
end
describe " with backup_interval => 1 " do
let :params do
{ :backup_interval = > " 1 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::BackUpArchiveInterval "1";$ / ) }
end
describe " with backup_level => 0 " do
let :params do
{ :backup_level = > " 0 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::BackUpLevel "0";$ / ) }
end
describe " with max_age => 1 " do
let :params do
{ :max_age = > " 1 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::MaxAge "1";$ / ) }
end
describe " with min_age => 1 " do
let :params do
{ :min_age = > " 1 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::MinAge "1";$ / ) }
end
describe " with max_size => 1 " do
let :params do
{ :max_size = > " 1 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::MaxSize "1";$ / ) }
end
describe " with download_delta => 2 " do
let :params do
{ :download_delta = > " 2 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::Download-Upgradeable-Packages-Debdelta "2";$ / ) }
end
describe " with verbose => 2 " do
let :params do
{ :verbose = > " 2 " }
end
it { should contain_file ( '/etc/apt/apt.conf.d/10periodic' ) . with_content ( / ^APT::Periodic::Verbose "2";$ / ) }
end
end