Skip to content

Commit 61e7844

Browse files
committed
update install_spec test
1 parent cd657ec commit 61e7844

File tree

1 file changed

+65
-16
lines changed

1 file changed

+65
-16
lines changed

spec/classes/install_spec.rb

Lines changed: 65 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,15 @@
1313
end
1414

1515
context 'contains install.pp' do
16-
['c:\local_folder', 'C:\\ProgramData\\chocolatey'].each do |param_value|
17-
context "choco_install_location => #{param_value}" do
18-
let(:params) { { choco_install_location: param_value } }
16+
let(:exec_environment) { catalogue.resource('exec', 'install_chocolatey_official').send(:parameters)[:environment] }
1917

20-
it { is_expected.to contain_exec('install_chocolatey_official').with_creates("#{param_value}\\bin\\choco.exe") }
18+
['c:\local_folder', 'C:\\ProgramData\\chocolatey', 'C:\Program Files\chocolatey'].each do |choco_install_path|
19+
context "choco_install_location => #{choco_install_path}" do
20+
let(:params) { { choco_install_location: choco_install_path } }
21+
22+
it { is_expected.to contain_exec('install_chocolatey_official').with_creates("#{choco_install_path}\\bin\\choco.exe") }
23+
it { expect(exec_environment).to include("ChocolateyInstall=#{choco_install_path}") }
24+
it { is_expected.to contain_registry_value('ChocolateyInstall environment value').with_data(choco_install_path) }
2125
end
2226
end
2327

@@ -32,27 +36,72 @@
3236
context 'use_7zip => false' do
3337
let(:params) { { use_7zip: false } }
3438

35-
it {
36-
expect(subject).not_to contain_file('C:\Temp\7za.exe')
37-
}
39+
it { expect(exec_environment).to include('chocolateyUseWindowsCompression=true') }
3840
end
3941

4042
context 'use_7zip => true' do
43+
let(:params) { { use_7zip: true } }
44+
4145
context 'seven_zip_download_url default' do
42-
let(:params) { { use_7zip: true } }
46+
it { expect(exec_environment).to include('chocolateyUseWindowsCompression=false') }
47+
end
4348

44-
it { is_expected.to contain_file('C:\Temp\7za.exe').with_source('https://chocolatey.org/7za.exe') }
49+
['https://packages.organization.net/7za.exe'].each do |seven_zip_url|
50+
context "seven_zip_download_url => '#{seven_zip_url}'" do
51+
let(:params) do
52+
super().merge({ seven_zip_download_url: seven_zip_url })
53+
end
54+
55+
it { is_expected.to contain_exec('install_chocolatey_official').with_command(%r{.*Request-File -Url #{seven_zip_url}.*}) }
56+
end
4557
end
58+
end
59+
60+
['http://proxy.megacorp.com:3128'].each do |proxy_url|
61+
context "install_proxy => '#{proxy_url}'" do
62+
let(:params) { { install_proxy: proxy_url } }
63+
64+
it { expect(exec_environment).to include("chocolateyProxyLocation=#{proxy_url}") }
65+
66+
context 'install_proxy_user => \'Bob\'' do
67+
let(:params) do
68+
super().merge({ install_proxy_user: 'Bob' })
69+
end
70+
71+
it { expect(exec_environment).to include('chocolateyProxyUser=Bob') }
72+
end
4673

47-
context "seven_zip_download_url => 'https://packages.organization.net/7za.exe'" do
48-
let(:params) do
49-
{
50-
use_7zip: true,
51-
seven_zip_download_url: 'https://packages.organization.net/7za.exe'
52-
}
74+
context 'install_proxy_password => \'SomeP@$$\'' do
75+
let(:params) do
76+
super().merge({ install_proxy_password: sensitive('SomeP@$$') })
77+
end
78+
79+
it { expect(exec_environment).to include('chocolateyProxyPassword=SomeP@$$') }
80+
end
81+
82+
context 'install_proxy_ignore => true' do
83+
let(:params) do
84+
super().merge({ install_ignore_proxy: true })
85+
end
86+
87+
it { expect(exec_environment).to include('chocolateyIgnoreProxy=true') }
5388
end
89+
end
90+
end
91+
92+
['https://internalurl/to/chocolatey.nupkg'].each do |param_value|
93+
context "download_url => '#{param_value}'" do
94+
let(:params) { { chocolatey_download_url: param_value } }
95+
96+
it { expect(exec_environment).to include("chocolateyDownloadUrl=#{param_value}") }
97+
end
98+
end
99+
100+
['C:/temp'].each do |param_value|
101+
context "install_tempdir => '#{param_value}'" do
102+
let(:params) { { install_tempdir: param_value } }
54103

55-
it { is_expected.to contain_file('C:\Temp\7za.exe').with_source('https://packages.organization.net/7za.exe') }
104+
it { expect(exec_environment).to include("TEMP=#{param_value}") }
56105
end
57106
end
58107
end

0 commit comments

Comments
 (0)