Skip to content

Commit 611e3c1

Browse files
author
Sasha Gerrand
committed
Ratified tests, improved coverage
1 parent 2b61ee9 commit 611e3c1

File tree

1 file changed

+73
-57
lines changed

1 file changed

+73
-57
lines changed

spec/oracle_rpm_spec.rb

+73-57
Original file line numberDiff line numberDiff line change
@@ -11,59 +11,6 @@
1111
expect(chef_run).to include_recipe('java::set_java_home')
1212
end
1313

14-
describe 'type attribute' do
15-
let(:chef_run) do
16-
ChefSpec::Runner.new do |node|
17-
node.automatic['java']['install_flavor'] = 'oracle_rpm'
18-
node.set['java']['oracle_rpm']['type'] = type
19-
end.converge(described_recipe)
20-
end
21-
22-
describe 'using default value' do
23-
let(:chef_run) do
24-
ChefSpec::Runner.new do |node|
25-
node.automatic['java']['install_flavor'] = 'oracle_rpm'
26-
end.converge(described_recipe)
27-
end
28-
29-
it 'installs jdk package' do
30-
expect(chef_run).to install_package('jdk')
31-
end
32-
end
33-
34-
describe 'for valid values' do
35-
shared_examples 'expected java packages are installed' do
36-
it "installs package" do
37-
expect(chef_run).to install_package(type)
38-
end
39-
40-
it 'does not raise an error' do
41-
expect { chef_run }.not_to raise_error
42-
end
43-
end
44-
45-
context 'for jdk' do
46-
let(:type) { 'jdk' }
47-
48-
it_behaves_like 'expected java packages are installed'
49-
end
50-
51-
context 'for jre' do
52-
let(:type) { 'jre' }
53-
54-
it_behaves_like 'expected java packages are installed'
55-
end
56-
end
57-
58-
describe 'for invalid values' do
59-
let(:type) { 'banana' }
60-
61-
it 'raises an error' do
62-
expect { chef_run }.to raise_error
63-
end
64-
end
65-
end
66-
6714
describe 'update-java-alternatives' do
6815
let(:chef_run) do
6916
ChefSpec::Runner.new(platform: platform, version: version) do |node|
@@ -82,8 +29,8 @@
8229
end
8330
end
8431

85-
describe 'package_name' do
86-
context 'for default values' do
32+
describe 'package_name attribute' do
33+
describe 'using default value' do
8734
let(:chef_run) do
8835
ChefSpec::Runner.new do |node|
8936
node.automatic['java']['install_flavor'] = 'oracle_rpm'
@@ -103,11 +50,27 @@
10350
end.converge(described_recipe)
10451
end
10552

106-
it 'installs package_name if set' do
53+
it 'installs package_name' do
10754
expect(chef_run).to install_package('prime-caffeine')
10855
end
10956
end
11057

58+
context 'when package_name and package_version is set' do
59+
let(:chef_run) do
60+
ChefSpec::Runner.new do |node|
61+
node.automatic['java']['install_flavor'] = 'oracle_rpm'
62+
node.set['java']['oracle_rpm']['package_name'] = 'prime-caffeine'
63+
node.set['java']['oracle_rpm']['package_version'] = '8.7.6-goldmaster'
64+
end.converge(described_recipe)
65+
end
66+
67+
it 'installs package_name with specific version' do
68+
expect(chef_run).to install_package('prime-caffeine').with(
69+
version: '8.7.6-goldmaster'
70+
)
71+
end
72+
end
73+
11174
context 'when type is set' do
11275
let(:chef_run) do
11376
ChefSpec::Runner.new do |node|
@@ -116,7 +79,7 @@
11679
end.converge(described_recipe)
11780
end
11881

119-
it 'installs type if set' do
82+
it 'installs type' do
12083
expect(chef_run).to install_package('jdk')
12184
end
12285
end
@@ -135,4 +98,57 @@
13598
end
13699
end
137100
end
101+
102+
describe 'type attribute' do
103+
let(:chef_run) do
104+
ChefSpec::Runner.new do |node|
105+
node.automatic['java']['install_flavor'] = 'oracle_rpm'
106+
node.set['java']['oracle_rpm']['type'] = type
107+
end.converge(described_recipe)
108+
end
109+
110+
describe 'using default value' do
111+
let(:chef_run) do
112+
ChefSpec::Runner.new do |node|
113+
node.automatic['java']['install_flavor'] = 'oracle_rpm'
114+
end.converge(described_recipe)
115+
end
116+
117+
it 'installs jdk package' do
118+
expect(chef_run).to install_package('jdk')
119+
end
120+
end
121+
122+
describe 'for valid values' do
123+
shared_examples 'expected java packages are installed' do
124+
it "installs package" do
125+
expect(chef_run).to install_package(type)
126+
end
127+
128+
it 'does not raise an error' do
129+
expect { chef_run }.not_to raise_error
130+
end
131+
end
132+
133+
context 'for jdk' do
134+
let(:type) { 'jdk' }
135+
136+
it_behaves_like 'expected java packages are installed'
137+
end
138+
139+
context 'for jre' do
140+
let(:type) { 'jre' }
141+
142+
it_behaves_like 'expected java packages are installed'
143+
end
144+
end
145+
146+
describe 'for invalid values' do
147+
let(:type) { 'banana' }
148+
149+
it 'raises an error' do
150+
expect { chef_run }.to raise_error
151+
end
152+
end
153+
end
138154
end

0 commit comments

Comments
 (0)