2 describe 'apt', :type => :class do
3 let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian' } }
6 :disable_keys => :undef,
7 :always_apt_update => false,
8 :purge_sources_list => false,
9 :purge_sources_list_d => false,
15 :disable_keys => true,
16 :always_apt_update => true,
18 :proxy_port => '3128',
19 :purge_sources_list => true,
20 :purge_sources_list_d => true,
23 :purge_preferences => true,
24 :purge_preferences_d => true,
27 :disable_keys => false
30 describe "when #{param_set == {} ? "using default" : "specifying"} class parameters" do
32 default_params.merge(param_set)
39 let :refresh_only_apt_update do
40 if param_hash[:always_apt_update]
47 it { should contain_class("apt::params") }
50 if param_hash[:purge_sources_list]
51 should contain_file("sources.list").with({
52 'path' => "/etc/apt/sources.list",
53 'ensure' => "present",
57 "content" => "# Repos managed by puppet.\n"
60 should contain_file("sources.list").with({
61 'path' => "/etc/apt/sources.list",
62 'ensure' => "present",
71 if param_hash[:purge_sources_list_d]
72 should create_file("sources.list.d").with({
73 'path' => "/etc/apt/sources.list.d",
74 'ensure' => "directory",
79 'notify' => 'Exec[apt_update]'
82 should create_file("sources.list.d").with({
83 'path' => "/etc/apt/sources.list.d",
84 'ensure' => "directory",
89 'notify' => 'Exec[apt_update]'
94 if param_hash[:purge_preferences]
95 should create_file('apt-preferences').with({
97 :path => '/etc/apt/preferences',
101 :content => /Explanation/,
104 should create_file('apt-preferences').with({
105 :ensure => 'present',
106 :path => '/etc/apt/preferences',
116 if param_hash[:purge_preferences_d]
117 should create_file("preferences.d").with({
118 'path' => "/etc/apt/preferences.d",
119 'ensure' => "directory",
126 should create_file("preferences.d").with({
127 'path' => "/etc/apt/preferences.d",
128 'ensure' => "directory",
138 should contain_exec("apt_update").with({
139 'command' => "/usr/bin/apt-get update",
140 'refreshonly' => refresh_only_apt_update
145 if param_hash[:disable_keys] == true
146 should create_file("99unauth").with({
147 'content' => "APT::Get::AllowUnauthenticated 1;\n",
148 'ensure' => "present",
149 'path' => "/etc/apt/apt.conf.d/99unauth"
151 elsif param_hash[:disable_keys] == false
152 should create_file("99unauth").with({
153 'ensure' => "absent",
154 'path' => "/etc/apt/apt.conf.d/99unauth"
156 elsif param_hash[:disable_keys] != :undef
157 should_not create_file("99unauth").with({
158 'path' => "/etc/apt/apt.conf.d/99unauth"
162 describe 'when setting a proxy' do
164 if param_hash[:proxy_host]
165 should contain_file('configure-apt-proxy').with(
166 'path' => '/etc/apt/apt.conf.d/proxy',
167 'content' => "Acquire::http::Proxy \"http://#{param_hash[:proxy_host]}:#{param_hash[:proxy_port]}\";",
168 'notify' => "Exec[apt_update]"
171 should contain_file('configure-apt-proxy').with(
172 'path' => '/etc/apt/apt.conf.d/proxy',
173 'notify' => 'Exec[apt_update]',