Skip to content

Commit f846564

Browse files
committed
Fix for_all_oses function
1 parent 3e47f7c commit f846564

File tree

3 files changed

+40
-38
lines changed

3 files changed

+40
-38
lines changed

cookbooks/aws-parallelcluster-common/spec/spec_helper.rb

+2-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def converge_dsl(*recipes, &block)
1515
end
1616
end
1717

18-
def for_all_oses(&block)
18+
def for_all_oses
1919
[
2020
%w(amazon 2),
2121
# The only Centos7 version supported by ChefSpec
@@ -25,9 +25,7 @@ def for_all_oses(&block)
2525
%w(ubuntu 20.04),
2626
%w(redhat 8),
2727
].each do |platform, version|
28-
context "on #{platform}#{version}" do
29-
block.call(platform, version)
30-
end
28+
yield(platform, version)
3129
end
3230
end
3331

cookbooks/aws-parallelcluster-install/spec/unit/recipes/ami_cleanup_spec.rb

+15-13
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,23 @@
22

33
describe 'aws-parallelcluster-install::ami_cleanup' do
44
for_all_oses do |platform, version|
5-
let(:chef_run) do
6-
ChefSpec::Runner.new(platform: platform, version: version)
7-
end
5+
context "on #{platform}#{version}" do
6+
let(:chef_run) do
7+
ChefSpec::Runner.new(platform: platform, version: version)
8+
end
89

9-
before do
10-
chef_run.converge(described_recipe)
11-
end
10+
before do
11+
chef_run.converge(described_recipe)
12+
end
1213

13-
it 'Creates ami_cleanup.sh under /usr/local/sbin' do
14-
is_expected.to create_cookbook_file("ami_cleanup.sh")
15-
.with(source: 'base/ami_cleanup.sh')
16-
.with(path: '/usr/local/sbin/ami_cleanup.sh')
17-
.with(owner: 'root')
18-
.with(group: 'root')
19-
.with(mode: '0755')
14+
it 'Creates ami_cleanup.sh under /usr/local/sbin' do
15+
is_expected.to create_cookbook_file("ami_cleanup.sh")
16+
.with(source: 'base/ami_cleanup.sh')
17+
.with(path: '/usr/local/sbin/ami_cleanup.sh')
18+
.with(owner: 'root')
19+
.with(group: 'root')
20+
.with(mode: '0755')
21+
end
2022
end
2123
end
2224
end

cookbooks/aws-parallelcluster-install/spec/unit/recipes/awscli_spec.rb

+23-21
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,35 @@
66
end
77

88
for_all_oses do |platform, version|
9-
let(:chef_run) do
10-
ChefSpec::Runner.new(platform: platform, version: version)
11-
end
12-
13-
context 'when aws cli exists' do
14-
before do
15-
mock_file_exists("/usr/local/bin/aws", true)
16-
chef_run.converge(described_recipe)
9+
context "on #{platform}#{version}" do
10+
let(:chef_run) do
11+
ChefSpec::Runner.new(platform: platform, version: version)
1712
end
1813

19-
it "should not install it" do
20-
is_expected.not_to run_bash("install awscli")
21-
end
22-
end
14+
context 'when aws cli exists' do
15+
before do
16+
mock_file_exists("/usr/local/bin/aws", true)
17+
chef_run.converge(described_recipe)
18+
end
2319

24-
context 'when aws cli does not exist' do
25-
before do
26-
mock_file_exists("/usr/local/bin/aws", false)
27-
chef_run.converge(described_recipe)
20+
it "should not install it" do
21+
is_expected.not_to run_bash("install awscli")
22+
end
2823
end
2924

30-
it "should install unzip" do
31-
is_expected.to install_package("unzip")
32-
end
25+
context 'when aws cli does not exist' do
26+
before do
27+
mock_file_exists("/usr/local/bin/aws", false)
28+
chef_run.converge(described_recipe)
29+
end
30+
31+
it "should install unzip" do
32+
is_expected.to install_package("unzip")
33+
end
3334

34-
it "should install awscli" do
35-
is_expected.to run_bash("install awscli")
35+
it "should install awscli" do
36+
is_expected.to run_bash("install awscli")
37+
end
3638
end
3739
end
3840
end

0 commit comments

Comments
 (0)