+ it { is_expected.to contain_apt__conf('foo').with({
+ :content => 'foo',
+ })}
+
+ it { is_expected.to contain_apt__conf('bar').with({
+ :content => 'bar',
+ })}
+ end
+
+ context 'with keys defined on valid osfamily' do
+ let :facts do
+ {
+ :os => { :family => 'Debian', :name => 'Ubuntu', :release => { :major => '12', :full => '12.04.5' }},
+ :osfamily => 'Debian',
+ :lsbdistcodename => 'precise',
+ :lsbdistid => 'Debian',
+ :puppetversion => Puppet.version,
+ }
+ end
+ let(:params) { { :keys => {
+ '55BE302B' => {
+ 'server' => 'subkeys.pgp.net',
+ },
+ 'EF8D349F' => {
+ 'server' => 'pgp.mit.edu',
+ }
+ } } }
+
+ it { is_expected.to contain_apt__key('55BE302B').with({
+ :server => 'subkeys.pgp.net',
+ })}
+
+ it { is_expected.to contain_apt__key('EF8D349F').with({
+ :server => 'pgp.mit.edu',
+ })}
+ end
+
+ context 'with ppas defined on valid osfamily' do
+ let :facts do
+ {
+ :os => { :family => 'Debian', :name => 'Ubuntu', :release => { :major => '12', :full => '12.04.5' }},
+ :osfamily => 'Debian',
+ :lsbdistcodename => 'precise',
+ :lsbdistid => 'ubuntu',
+ :lsbdistrelease => '12.04',
+ :puppetversion => Puppet.version,
+ }
+ end
+ let(:params) { { :ppas => {
+ 'ppa:drizzle-developers/ppa' => {},
+ 'ppa:nginx/stable' => {},
+ } } }
+
+ it { is_expected.to contain_apt__ppa('ppa:drizzle-developers/ppa')}
+ it { is_expected.to contain_apt__ppa('ppa:nginx/stable')}
+ end
+
+ context 'with settings defined on valid osfamily' do
+ let :facts do
+ {
+ :os => { :family => 'Debian', :name => 'Ubuntu', :release => { :major => '12', :full => '12.04.5' }},
+ :osfamily => 'Debian',
+ :lsbdistcodename => 'precise',
+ :lsbdistid => 'Debian',
+ :puppetversion => Puppet.version,
+ }
+ end
+ let(:params) { { :settings => {
+ 'conf-banana' => { 'content' => 'banana' },
+ 'pref-banana' => { 'content' => 'banana' },
+ } } }
+
+ it { is_expected.to contain_apt__setting('conf-banana')}
+ it { is_expected.to contain_apt__setting('pref-banana')}
+ end
+
+ context 'with pins defined on valid osfamily' do
+ let :facts do
+ {
+ :os => { :family => 'Debian', :name => 'Ubuntu', :release => { :major => '12', :full => '12.04.5' }},
+ :osfamily => 'Debian',
+ :lsbdistcodename => 'precise',
+ :lsbdistid => 'Debian',
+ :puppetversion => Puppet.version,
+ }
+ end
+ let(:params) { { :pins => {
+ 'stable' => { 'priority' => 600, 'order' => 50 },
+ 'testing' => { 'priority' => 700, 'order' => 100 },
+ } } }
+
+ it { is_expected.to contain_apt__pin('stable') }
+ it { is_expected.to contain_apt__pin('testing') }
+ end
+
+ describe 'failing tests' do
+ context "purge['sources.list']=>'banana'" do
+ let(:params) { { :purge => { 'sources.list' => 'banana' }, } }