commit
62e7faf18b
2 changed files with 38 additions and 0 deletions
|
@ -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',
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue