4e5b46b8247c07b465a4b026761c6c7eff166d9a
[puppet-modules/puppetlabs-apt.git] / spec / defines / conf_spec.rb
1 require 'spec_helper'
2 describe 'apt::conf', :type => :define do
3   let :pre_condition do
4     'class { "apt": }'
5   end
6   let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian' } }
7   let :title do
8     'norecommends'
9   end
10
11   describe "when creating an apt preference" do
12     let :params do
13       {
14         :priority => '00',
15         :content  => "Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;\n"
16       }
17     end
18
19     let :filename do
20       "/etc/apt/apt.conf.d/00norecommends"
21     end
22
23     it { is_expected.to contain_file(filename).with({
24           'ensure'    => 'present',
25           'content'   => /Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;/,
26           'owner'     => 'root',
27           'group'     => 'root',
28           'mode'      => '0644',
29         })
30       }
31   end
32
33   describe "when removing an apt preference" do
34     let :params do
35       {
36         :ensure   => 'absent',
37         :priority => '00',
38         :content  => "Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;\n"
39       }
40     end
41
42     let :filename do
43       "/etc/apt/apt.conf.d/00norecommends"
44     end
45
46     it { is_expected.to contain_file(filename).with({
47         'ensure'    => 'absent',
48         'content'   => /Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;/,
49         'owner'     => 'root',
50         'group'     => 'root',
51         'mode'      => '0644',
52       })
53     }
54   end
55 end