forked from sous-chefs/java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdefault_spec.rb
More file actions
123 lines (107 loc) · 3.54 KB
/
Copy pathdefault_spec.rb
File metadata and controls
123 lines (107 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
require 'spec_helper'
describe 'java::default' do
let(:chef_run) do
runner = ChefSpec::SoloRunner.new(
platform: 'debian',
version: '7.11'
)
runner.converge(described_recipe)
end
it 'should include the openjdk recipe by default' do
expect(chef_run).to include_recipe('java::openjdk')
end
it 'includes set_attributes_from_version' do
expect(chef_run).to include_recipe('java::set_attributes_from_version')
end
# context 'windows' do
# let(:chef_run) do
# runner = ChefSpec::SoloRunner.new(
# :platform => 'windows',
# :version => '2012R2'
# )
# runner.node.override['java']['windows']['url'] = 'http://example.com/windows-java.msi'
# runner.node.override['java']['java_home'] = 'C:/java'
# end
#
# # Running the tests on non-Windows platforms will error in the Windows library,
# # but this means the recipe was included. There has to be a better way to handle this...
# it 'should error on windows recipe' do
# expect { chef_run }.to raise_error(TypeError)
# end
# end
context 'oracle' do
cached(:chef_run) do
runner = ChefSpec::SoloRunner.new
runner.node.override['java']['install_flavor'] = 'oracle'
runner.converge(described_recipe)
end
it 'should include the oracle recipe' do
expect(chef_run).to include_recipe('java::oracle')
end
end
context 'oracle_i386' do
cached(:chef_run) do
runner = ChefSpec::SoloRunner.new
runner.node.override['java']['install_flavor'] = 'oracle_i386'
runner.converge(described_recipe)
end
it 'should include the oracle_i386 recipe' do
expect(chef_run).to include_recipe('java::oracle_i386')
end
end
context 'ibm' do
cached(:chef_run) do
runner = ChefSpec::SoloRunner.new
runner.node.override['java']['install_flavor'] = 'ibm'
runner.node.override['java']['ibm']['url'] = 'http://example.com/ibm-java.bin'
runner.converge(described_recipe)
end
it 'should include the ibm recipe' do
expect(chef_run).to include_recipe('java::ibm')
end
end
context 'ibm_tar' do
cached(:chef_run) do
runner = ChefSpec::SoloRunner.new
runner.node.override['java']['install_flavor'] = 'ibm_tar'
runner.node.override['java']['ibm']['url'] = 'http://example.com/ibm-java.tar.gz'
runner.converge(described_recipe)
end
it 'should include the ibm_tar recipe' do
expect(chef_run).to include_recipe('java::ibm_tar')
end
end
context 'Oracle JDK 8' do
cached(:chef_run) do
runner = ChefSpec::SoloRunner.new
runner.node.override['java']['install_flavor'] = 'oracle'
runner.node.override['java']['jdk_version'] = '8'
runner.converge(described_recipe)
end
it 'should not error' do
expect { chef_run }.to_not raise_error
end
end
context 'Oracle JDK 8 RPM' do
cached(:chef_run) do
runner = ChefSpec::SoloRunner.new
runner.node.override['java']['install_flavor'] = 'oracle_rpm'
runner.node.override['java']['jdk_version'] = '8'
runner.converge(described_recipe)
end
it 'should not error' do
expect { chef_run }.to_not raise_error
end
end
context 'OpenJDK 8' do
cached(:chef_run) do
runner = ChefSpec::SoloRunner.new
runner.node.override['java']['install_flavor'] = 'openjdk'
runner.node.override['java']['jdk_version'] = '8'
runner.converge(described_recipe)
end
it 'should not error' do
expect { chef_run }.to_not raise_error
end
end
end