Merge pull request #144 from hunner/ppa_proxy

Ppa proxy
This commit is contained in:
Hunter Haugen 2013-07-11 17:03:31 -07:00
commit 62e7faf18b
2 changed files with 38 additions and 0 deletions

View file

@ -26,7 +26,20 @@ define apt::ppa(
package { $package: }
}
if defined(Class[apt]) {
$proxy_host = getparam(Class[apt], "proxy_host")
$proxy_port = getparam(Class[apt], "proxy_port")
case $proxy_host {
false: {
$proxy_env = ""
}
default: {$proxy_env = ["http_proxy=http://${proxy_host}:${proxy_port}", "https_proxy=http://${proxy_host}:${proxy_port}"]}
}
} else {
$proxy_env = ""
}
exec { "add-apt-repository-${name}":
environment => $proxy_env,
command => "/usr/bin/add-apt-repository ${name}",
creates => "${sources_list_d}/${sources_list_d_filename}",
logoutput => 'on_failure',

View file

@ -55,6 +55,31 @@ describe 'apt::ppa', :type => :define do
}
end
end
describe 'behind a proxy' do
let :title do
'rspec_ppa'
end
let :pre_condition do
'class { "apt":
proxy_host => "user:pass@proxy",
}'
end
let :filename do
"#{title}-#{release}.list"
end
it { should contain_exec("add-apt-repository-#{title}").with(
'environment' => [
"http_proxy=http://user:pass@proxy:8080",
"https_proxy=http://user:pass@proxy:8080",
],
'command' => "/usr/bin/add-apt-repository #{title}",
'creates' => "/etc/apt/sources.list.d/#{filename}",
'require' => ["File[/etc/apt/sources.list.d]", "Package[#{package}]"],
'notify' => "Exec[apt_update]"
)
}
end
end
end