- [
- { :params => {},
- :content => "# my_pin\nExplanation: : my_pin\nPackage: *\nPin: release a=my_pin\nPin-Priority: 0\n"
- },
- {
- :params => {
- :packages => 'apache',
- :priority => '1'
- },
- :content => "# my_pin\nExplanation: : my_pin\nPackage: apache\nPin: release a=my_pin\nPin-Priority: 1\n"
- },
- {
- :params => {
- :order => 50,
- :packages => 'apache',
- :priority => '1'
- },
- :content => "# my_pin\nExplanation: : my_pin\nPackage: apache\nPin: release a=my_pin\nPin-Priority: 1\n"
- },
- {
- :params => {
- :ensure => 'absent',
- :packages => 'apache',
- :priority => '1'
- },
- :content => "# my_pin\nExplanation: : my_pin\nPackage: apache\nPin: release a=my_pin\nPin-Priority: 1\n"
- },
- {
- :params => {
- :packages => 'apache',
- :priority => '1',
- :release => 'my_newpin'
- },
- :content => "# my_pin\nExplanation: : my_pin\nPackage: apache\nPin: release a=my_newpin\nPin-Priority: 1\n"
- },
- {
- :params => {
- :packages => 'apache',
- :priority => '1',
- :version => '2.2.16*'
- },
- :content => "# my_pin\nExplanation: : my_pin\nPackage: apache\nPin: version 2.2.16*\nPin-Priority: 1\n"
- },
- {
- :params => {
- :priority => '1',
- :origin => 'ftp.de.debian.org'
- },
- :content => "# my_pin\nExplanation: : my_pin\nPackage: *\nPin: origin ftp.de.debian.org\nPin-Priority: 1\n"
- },
- {
- :params => {
- :packages => 'apache',
- :priority => '1',
- :release => 'stable',
- :codename => 'wheezy',
- :release_version => '3.0',
- :component => 'main',
- :originator => 'Debian',
- :label => 'Debian'
- },
- :content => "# my_pin\nExplanation: : my_pin\nPackage: apache\nPin: release a=stable, n=wheezy, v=3.0, c=main, o=Debian, l=Debian\nPin-Priority: 1\n"
- },
- {
- :params => {
- :packages => ['apache', 'ntop'],
- },
- :content => "# my_pin\nExplanation: : my_pin\nPackage: apache ntop\nPin: release a=my_pin\nPin-Priority: 0\n"
- },
- ].each do |param_set|
- describe "when #{param_set == {} ? "using default" : "specifying"} define parameters" do
- let :param_hash do
- default_params.merge(param_set[:params])
+ context 'ensure absent' do
+ let :params do
+ {
+ 'ensure' => 'absent'
+ }
+ end
+ it { is_expected.to contain_apt__setting("pref-my_pin").with({
+ 'ensure' => 'absent',
+ })
+ }
+ end
+
+ context 'bad characters' do
+ let(:title) { 'such bad && wow!' }
+ it { is_expected.to contain_apt__setting("pref-such__bad____wow_") }
+ end
+
+ describe 'validation' do
+ context 'invalid order' do
+ let :params do
+ {
+ 'order' => 'foo',
+ }
+ end
+ it do
+ expect {
+ subject.call
+ }.to raise_error(Puppet::Error, /expects a value of type Integer/)