module-puppetlabs-apt/spec/defines/conf_spec.rb
Brett Delle Grazie 9ad4fd682d MODULES-2269: Expose notify_update setting
* Expose the underlying notify_update setting of the apt::settings resource
This is because not all configuration file changes should trigger an apt::update notification
* apt::pin also shouldn't result in an apt-update call
Adding a pin configuration should apply to the next apt-get update call it shouldn't trigger one itself.
* Added documentation
* Add tests for apt::conf notify_update
2015-08-16 19:16:36 +01:00

84 lines
2 KiB
Ruby

require 'spec_helper'
describe 'apt::conf', :type => :define do
let :pre_condition do
'class { "apt": }'
end
let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian', :lsbdistcodename => 'wheezy', :puppetversion => Puppet.version, } }
let :title do
'norecommends'
end
describe "when creating an apt preference" do
let :default_params do
{
:priority => '00',
:content => "Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;\n"
}
end
let :params do
default_params
end
let :filename do
"/etc/apt/apt.conf.d/00norecommends"
end
it { is_expected.to contain_file(filename).with({
'ensure' => 'present',
'content' => /Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;/,
'owner' => 'root',
'group' => 'root',
'mode' => '0644',
})
}
context "with notify_update = true (default)" do
let :params do
default_params
end
it { is_expected.to contain_apt__setting("conf-#{title}").with_notify_update(true) }
end
context "with notify_update = false" do
let :params do
default_params.merge({
:notify_update => false
})
end
it { is_expected.to contain_apt__setting("conf-#{title}").with_notify_update(false) }
end
end
describe "when creating a preference without content" do
let :params do
{
:priority => '00',
}
end
it 'fails' do
expect { subject.call } .to raise_error(/pass in content/)
end
end
describe "when removing an apt preference" do
let :params do
{
:ensure => 'absent',
:priority => '00',
}
end
let :filename do
"/etc/apt/apt.conf.d/00norecommends"
end
it { is_expected.to contain_file(filename).with({
'ensure' => 'absent',
'owner' => 'root',
'group' => 'root',
'mode' => '0644',
})
}
end
end