|
3 | 3 | require 'spec_helper' |
4 | 4 |
|
5 | 5 | describe 'java', type: :class do |
6 | | - context 'when selecting openjdk for CentOS 5.8' do |
7 | | - let(:facts) { { os: { family: 'RedHat', name: 'CentOS', release: { full: '5.8' }, architecture: 'x86_64' } } } |
8 | | - |
9 | | - it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') } |
10 | | - it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.6.0/') } |
11 | | - end |
12 | | - |
13 | | - context 'when selecting openjdk for CentOS 6.3' do |
14 | | - let(:facts) { { os: { family: 'RedHat', name: 'CentOS', release: { full: '6.3' }, architecture: 'x86_64' } } } |
15 | | - |
16 | | - it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') } |
17 | | - it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0/') } |
18 | | - end |
19 | | - |
20 | 6 | context 'when selecting openjdk for CentOS 7.1.1503' do |
21 | 7 | let(:facts) { { os: { family: 'RedHat', name: 'CentOS', release: { full: '7.1.1503' }, architecture: 'x86_64' } } } |
22 | 8 |
|
23 | 9 | it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk-devel') } |
24 | 10 | it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0/') } |
25 | 11 | end |
26 | 12 |
|
27 | | - context 'when selecting openjdk for CentOS 6.2' do |
28 | | - let(:facts) { { os: { family: 'RedHat', name: 'CentOS', release: { full: '6.2' }, architecture: 'x86_64' } } } |
29 | | - |
30 | | - it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') } |
31 | | - it { is_expected.not_to contain_exec('update-java-alternatives') } |
32 | | - end |
33 | | - |
34 | | - context 'when selecting Oracle JRE with alternatives for CentOS 6.3' do |
35 | | - let(:facts) { { os: { family: 'RedHat', name: 'CentOS', release: { full: '6.3' }, architecture: 'x86_64' } } } |
36 | | - let(:params) { { 'package' => 'jre', 'java_alternative' => '/usr/bin/java', 'java_alternative_path' => '/usr/java/jre1.7.0_67/bin/java' } } |
37 | | - |
38 | | - it { is_expected.to contain_package('java').with_name('jre') } |
39 | | - |
40 | | - it { |
41 | | - expect(subject).to contain_exec('create-java-alternatives').with( |
42 | | - { command: ['alternatives', '--install', '/usr/bin/java', 'java', '/usr/java/jre1.7.0_67/bin/java', '20000'], |
43 | | - unless: 'alternatives --display java | grep -q /usr/java/jre1.7.0_67/bin/java' }, |
44 | | - ) |
45 | | - } |
46 | | - |
47 | | - it { is_expected.to contain_exec('update-java-alternatives').with_command(['alternatives', '--set', 'java', '/usr/java/jre1.7.0_67/bin/java']) } |
48 | | - end |
49 | | - |
50 | | - context 'when selecting Malicious JRE with alternatives for CentOS 6.3' do |
51 | | - let(:facts) { { os: { family: 'RedHat', name: 'CentOS', release: { full: '6.3' }, architecture: 'x86_64' } } } |
52 | | - let(:params) { { 'package' => 'jre', 'java_alternative' => '/usr/bin/java', 'java_alternative_path' => '/usr/java ; rm -rf /etc' } } |
53 | | - |
54 | | - it { is_expected.to contain_exec('create-java-alternatives').with_unless('alternatives --display java | grep -q /usr/java\\ \\;\\ rm\\ -rf\\ /etc') } |
55 | | - end |
56 | | - |
57 | | - context 'when selecting passed value for CentOS 5.3' do |
58 | | - let(:facts) { { os: { family: 'RedHat', name: 'CentOS', release: { full: '5.3' }, architecture: 'x86_64' } } } |
59 | | - let(:params) { { 'package' => 'jdk', 'java_home' => '/usr/local/lib/jre' } } |
60 | | - |
61 | | - it { is_expected.to contain_package('java').with_name('jdk') } |
62 | | - it { is_expected.not_to contain_exec('update-java-alternatives') } |
63 | | - end |
64 | | - |
65 | | - context 'when selecting default for CentOS 5.3' do |
66 | | - let(:facts) { { os: { family: 'RedHat', name: 'CentOS', release: { full: '5.3' }, architecture: 'x86_64' } } } |
67 | | - |
68 | | - it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') } |
69 | | - it { is_expected.not_to contain_exec('update-java-alternatives') } |
70 | | - end |
71 | | - |
72 | 13 | context 'when selecting jdk for Debian Buster (10.0)' do |
73 | 14 | let(:facts) { { os: { family: 'Debian', name: 'Debian', lsb: { distcodename: 'buster' }, release: { major: '10' }, architecture: 'amd64' } } } |
74 | 15 | let(:params) { { 'distribution' => 'jdk' } } |
|
102 | 43 | end |
103 | 44 |
|
104 | 45 | context 'when selecting openjdk for Oracle Linux' do |
105 | | - let(:facts) { { os: { family: 'RedHat', name: 'OracleLinux', release: { full: '6.4' }, architecture: 'x86_64' } } } |
| 46 | + let(:facts) { { os: { family: 'RedHat', name: 'OracleLinux', release: { full: '7.0' }, architecture: 'x86_64' } } } |
106 | 47 |
|
107 | 48 | it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') } |
108 | 49 | end |
109 | 50 |
|
110 | | - context 'when selecting openjdk for Oracle Linux 6.2' do |
111 | | - let(:facts) { { os: { family: 'RedHat', name: 'OracleLinux', release: { full: '6.2' }, architecture: 'x86_64' } } } |
112 | | - |
113 | | - it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') } |
114 | | - end |
115 | | - |
116 | 51 | context 'when selecting passed value for Oracle Linux' do |
117 | | - let(:facts) { { os: { family: 'RedHat', name: 'OracleLinux', release: { full: '6.3' }, architecture: 'x86_64' } } } |
| 52 | + let(:facts) { { os: { family: 'RedHat', name: 'OracleLinux', release: { full: '7.0' }, architecture: 'x86_64' } } } |
118 | 53 | let(:params) { { 'distribution' => 'jre' } } |
119 | 54 |
|
120 | 55 | it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') } |
121 | 56 | end |
122 | 57 |
|
123 | 58 | context 'when selecting passed value for Scientific Linux' do |
124 | | - let(:facts) { { os: { family: 'RedHat', name: 'Scientific', release: { full: '6.4' }, architecture: 'x86_64' } } } |
| 59 | + let(:facts) { { os: { family: 'RedHat', name: 'Scientific', release: { full: '7.0' }, architecture: 'x86_64' } } } |
125 | 60 | let(:params) { { 'distribution' => 'jre' } } |
126 | 61 |
|
127 | 62 | it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') } |
128 | 63 | it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0/') } |
129 | 64 | end |
130 | 65 |
|
131 | 66 | context 'when selecting passed value for Scientific Linux CERN (SLC)' do |
132 | | - let(:facts) { { os: { family: 'RedHat', name: 'SLC', release: { full: '6.4' }, architecture: 'x86_64' } } } |
| 67 | + let(:facts) { { os: { family: 'RedHat', name: 'SLC', release: { full: '7.0' }, architecture: 'x86_64' } } } |
133 | 68 | let(:params) { { 'distribution' => 'jre' } } |
134 | 69 |
|
135 | 70 | it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') } |
|
0 commit comments