2 describe 'apt', :type => :class do
5 :disable_keys => :undef,
6 :always_apt_update => false,
7 :purge_sources_list => false,
8 :purge_sources_list_d => false,
14 :disable_keys => true,
15 :always_apt_update => true,
17 :proxy_port => '3128',
18 :purge_sources_list => true,
19 :purge_sources_list_d => true,
22 :disable_keys => false
25 describe "when #{param_set == {} ? "using default" : "specifying"} class parameters" do
27 default_params.merge(param_set)
34 let :refresh_only_apt_update do
35 if param_hash[:always_apt_update]
42 it { should contain_class("apt::params") }
45 if param_hash[:purge_sources_list]
46 should contain_file("sources.list").with({
47 'path' => "/etc/apt/sources.list",
48 'ensure' => "present",
52 "content" => "# Repos managed by puppet.\n"
55 should contain_file("sources.list").with({
56 'path' => "/etc/apt/sources.list",
57 'ensure' => "present",
66 if param_hash[:purge_sources_list_d]
67 should create_file("sources.list.d").with({
68 'path' => "/etc/apt/sources.list.d",
69 'ensure' => "directory",
74 'notify' => 'Exec[apt_update]'
77 should create_file("sources.list.d").with({
78 'path' => "/etc/apt/sources.list.d",
79 'ensure' => "directory",
84 'notify' => 'Exec[apt_update]'
90 should contain_exec("apt_update").with({
91 'command' => "/usr/bin/apt-get update",
92 'refreshonly' => refresh_only_apt_update
97 if param_hash[:disable_keys] == true
98 should create_file("99unauth").with({
99 'content' => "APT::Get::AllowUnauthenticated 1;\n",
100 'ensure' => "present",
101 'path' => "/etc/apt/apt.conf.d/99unauth"
103 elsif param_hash[:disable_keys] == false
104 should create_file("99unauth").with({
105 'ensure' => "absent",
106 'path' => "/etc/apt/apt.conf.d/99unauth"
108 elsif param_hash[:disable_keys] != :undef
109 should_not create_file("99unauth").with({
110 'path' => "/etc/apt/apt.conf.d/99unauth"
114 describe 'when setting a proxy' do
116 if param_hash[:proxy_host]
117 should contain_file('configure-apt-proxy').with(
118 'path' => '/etc/apt/apt.conf.d/proxy',
119 'content' => "Acquire::http::Proxy \"http://#{param_hash[:proxy_host]}:#{param_hash[:proxy_port]}\";",
120 'notify' => "Exec[apt_update]"
123 should contain_file('configure-apt-proxy').with(
124 'path' => '/etc/apt/apt.conf.d/proxy',
125 'notify' => 'Exec[apt_update]',