Merge pull request #370 from timdeluxe/adoptopenjdk
Support AdoptOpenJDK
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
require 'spec_helper_acceptance'
|
||||
require 'pry'
|
||||
|
||||
java_class_jre = "class { 'java':\n"\
|
||||
" distribution => 'jre',\n"\
|
||||
@@ -41,6 +42,102 @@ bogus_alternative = "class { 'java':\n"\
|
||||
" java_alternative_path => '/whatever',\n"\
|
||||
'}'
|
||||
|
||||
# Oracle installs are disabled by default, because the links to valid oracle installations
|
||||
# change often. Look the parameters up from the Oracle download URLs at https://java.oracle.com and
|
||||
# enable the tests:
|
||||
|
||||
oracle_enabled = false
|
||||
oracle_version_major = '8'
|
||||
oracle_version_minor = '201'
|
||||
oracle_version_build = '09'
|
||||
oracle_hash = '42970487e3af4f5aa5bca3f542482c60'
|
||||
|
||||
install_oracle_jdk_jre = <<EOL
|
||||
java::oracle {
|
||||
'test_oracle_jre':
|
||||
version => '#{oracle_version_major}',
|
||||
version_major => '#{oracle_version_major}u#{oracle_version_minor}',
|
||||
version_minor => 'b#{oracle_version_build}',
|
||||
url_hash => '#{oracle_hash}',
|
||||
java_se => 'jre',
|
||||
}
|
||||
java::oracle {
|
||||
'test_oracle_jdk':
|
||||
version => '#{oracle_version_major}',
|
||||
version_major => '#{oracle_version_major}u#{oracle_version_minor}',
|
||||
version_minor => 'b#{oracle_version_build}',
|
||||
url_hash => '#{oracle_hash}',
|
||||
java_se => 'jdk',
|
||||
}
|
||||
EOL
|
||||
|
||||
install_oracle_jre_jce = <<EOL
|
||||
java::oracle {
|
||||
'test_oracle_jre':
|
||||
version => '#{oracle_version_major}',
|
||||
version_major => '#{oracle_version_major}u#{oracle_version_minor}',
|
||||
version_minor => 'b#{oracle_version_build}',
|
||||
url_hash => '#{oracle_hash}',
|
||||
java_se => 'jre',
|
||||
jce => true,
|
||||
}
|
||||
|
||||
EOL
|
||||
|
||||
install_oracle_jdk_jce = <<EOL
|
||||
java::oracle {
|
||||
'test_oracle_jdk':
|
||||
version => '#{oracle_version_major}',
|
||||
version_major => '#{oracle_version_major}u#{oracle_version_minor}',
|
||||
version_minor => 'b#{oracle_version_build}',
|
||||
url_hash => '#{oracle_hash}',
|
||||
java_se => 'jdk',
|
||||
jce => true,
|
||||
}
|
||||
EOL
|
||||
|
||||
# AdoptOpenJDK URLs are quite generic, so tests are enabled by default
|
||||
# We need to test version 8 and >8 (here we use 9), because namings are different after version 8
|
||||
|
||||
adopt_enabled = true
|
||||
adopt_version8_major = '8'
|
||||
adopt_version8_minor = '202'
|
||||
adopt_version8_build = '08'
|
||||
adopt_version9_major = '9'
|
||||
adopt_version9_full = '9.0.4'
|
||||
adopt_version9_build = '11'
|
||||
|
||||
install_adopt_jdk_jre = <<EOL
|
||||
java::adopt {
|
||||
'test_adopt_jre_version8':
|
||||
version => '#{adopt_version8_major}',
|
||||
version_major => '#{adopt_version8_major}u#{adopt_version8_minor}',
|
||||
version_minor => 'b#{adopt_version8_build}',
|
||||
java => 'jre',
|
||||
}
|
||||
java::adopt {
|
||||
'test_adopt_jdk_version8':
|
||||
version => '#{adopt_version8_major}',
|
||||
version_major => '#{adopt_version8_major}u#{adopt_version8_minor}',
|
||||
version_minor => 'b#{adopt_version8_build}',
|
||||
java => 'jdk',
|
||||
}
|
||||
java::adopt {
|
||||
'test_adopt_jre_version9':
|
||||
version => '#{adopt_version9_major}',
|
||||
version_major => '#{adopt_version9_full}',
|
||||
version_minor => '#{adopt_version9_build}',
|
||||
java => 'jre',
|
||||
}
|
||||
java::adopt {
|
||||
'test_adopt_jdk_version9':
|
||||
version => '#{adopt_version9_major}',
|
||||
version_major => '#{adopt_version9_full}',
|
||||
version_minor => '#{adopt_version9_build}',
|
||||
java => 'jdk',
|
||||
}
|
||||
EOL
|
||||
|
||||
context 'installing java jre', unless: UNSUPPORTED_PLATFORMS.include?(os[:family]) do
|
||||
it 'installs jre' do
|
||||
idempotent_apply(java_class_jre)
|
||||
@@ -78,3 +175,47 @@ context 'with failure cases' do
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'java::oracle', if: oracle_enabled, unless: UNSUPPORTED_PLATFORMS.include?(os[:family]) do
|
||||
let(:install_path) do
|
||||
(os[:family] == 'redhat') ? '/usr/java' : '/usr/lib/jvm'
|
||||
end
|
||||
|
||||
let(:version_suffix) do
|
||||
(os[:family] == 'redhat') ? '-amd64' : ''
|
||||
end
|
||||
|
||||
it 'installs oracle jdk and jre' do
|
||||
idempotent_apply(install_oracle_jdk_jre)
|
||||
jdk_result = shell("test ! -e #{install_path}/jdk1.#{oracle_version_major}.0_#{oracle_version_minor}#{version_suffix}/jre/lib/security/local_policy.jar")
|
||||
jre_result = shell("test ! -e #{install_path}/jre1.#{oracle_version_major}.0_#{oracle_version_minor}#{version_suffix}/lib/security/local_policy.jar")
|
||||
expect(jdk_result.exit_code).to eq(0)
|
||||
expect(jre_result.exit_code).to eq(0)
|
||||
end
|
||||
|
||||
it 'installs oracle jdk with jce' do
|
||||
idempotent_apply(install_oracle_jdk_jce)
|
||||
result = shell("test -e #{install_path}/jdk1.#{oracle_version_major}.0_#{oracle_version_minor}#{version_suffix}/jre/lib/security/local_policy.jar")
|
||||
expect(result.exit_code).to eq(0)
|
||||
end
|
||||
|
||||
it 'installs oracle jre with jce' do
|
||||
idempotent_apply(install_oracle_jre_jce)
|
||||
result = shell("test -e #{install_path}/jre1.#{oracle_version_major}.0_#{oracle_version_minor}#{version_suffix}/lib/security/local_policy.jar")
|
||||
expect(result.exit_code).to eq(0)
|
||||
end
|
||||
end
|
||||
|
||||
context 'java::adopt', if: adopt_enabled, unless: UNSUPPORTED_PLATFORMS.include?(os[:family]) do
|
||||
let(:install_path) do
|
||||
(os[:family] == 'redhat') ? '/usr/java' : '/usr/lib/jvm'
|
||||
end
|
||||
|
||||
let(:version_suffix) do
|
||||
(os[:family] == 'redhat') ? '-amd64' : ''
|
||||
end
|
||||
|
||||
it 'installs adopt jdk and jre' do
|
||||
idempotent_apply(install_adopt_jdk_jre)
|
||||
end
|
||||
end
|
||||
|
||||
335
spec/defines/adopt_spec.rb
Normal file
335
spec/defines/adopt_spec.rb
Normal file
@@ -0,0 +1,335 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'java::adopt', type: :define do
|
||||
context 'with CentOS 64-bit' do
|
||||
let(:facts) { { kernel: 'Linux', os: { family: 'RedHat', architecture: 'x86_64', name: 'CentOS', release: { full: '6.0' } } } }
|
||||
|
||||
context 'when AdoptOpenJDK Java 8 JDK' do
|
||||
let(:params) { { ensure: 'present', version: '8', java: 'jdk' } }
|
||||
let(:title) { 'jdk8' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK8U-jdk_x64_linux_hotspot_8u202b08.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 8 8u202 b08').with_command('tar -zxf /tmp/OpenJDK8U-jdk_x64_linux_hotspot_8u202b08.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 8 8u202 b08').that_requires('Archive[/tmp/OpenJDK8U-jdk_x64_linux_hotspot_8u202b08.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 9 JDK' do
|
||||
let(:params) { { ensure: 'present', version: '9', java: 'jdk' } }
|
||||
let(:title) { 'jdk9' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK9U-jdk_x64_linux_hotspot_9.0.4_11.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 9 9.0.4 11').with_command('tar -zxf /tmp/OpenJDK9U-jdk_x64_linux_hotspot_9.0.4_11.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 9 9.0.4 11').that_requires('Archive[/tmp/OpenJDK9U-jdk_x64_linux_hotspot_9.0.4_11.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 10 JDK' do
|
||||
let(:params) { { ensure: 'present', version: '10', java: 'jdk' } }
|
||||
let(:title) { 'jdk10' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK10U-jdk_x64_linux_hotspot_10.0.2_13.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 10 10.0.2 13').with_command('tar -zxf /tmp/OpenJDK10U-jdk_x64_linux_hotspot_10.0.2_13.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 10 10.0.2 13').that_requires('Archive[/tmp/OpenJDK10U-jdk_x64_linux_hotspot_10.0.2_13.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 11 JDK' do
|
||||
let(:params) { { ensure: 'present', version: '11', java: 'jdk' } }
|
||||
let(:title) { 'jdk11' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK11U-jdk_x64_linux_hotspot_11.0.2_9.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 11 11.0.2 9').with_command('tar -zxf /tmp/OpenJDK11U-jdk_x64_linux_hotspot_11.0.2_9.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 11 11.0.2 9').that_requires('Archive[/tmp/OpenJDK11U-jdk_x64_linux_hotspot_11.0.2_9.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 12 JDK' do
|
||||
let(:params) { { ensure: 'present', version: '12', java: 'jdk' } }
|
||||
let(:title) { 'jdk12' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK12U-jdk_x64_linux_hotspot_12.0.1_12.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 12 12.0.1 12').with_command('tar -zxf /tmp/OpenJDK12U-jdk_x64_linux_hotspot_12.0.1_12.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 12 12.0.1 12').that_requires('Archive[/tmp/OpenJDK12U-jdk_x64_linux_hotspot_12.0.1_12.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 8 JRE' do
|
||||
let(:params) { { ensure: 'present', version: '8', java: 'jre' } }
|
||||
let(:title) { 'jre8' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK8U-jre_x64_linux_hotspot_8u202b08.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 8 8u202 b08').with_command('tar -zxf /tmp/OpenJDK8U-jre_x64_linux_hotspot_8u202b08.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 8 8u202 b08').that_requires('Archive[/tmp/OpenJDK8U-jre_x64_linux_hotspot_8u202b08.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 9 JRE' do
|
||||
let(:params) { { ensure: 'present', version: '9', java: 'jre' } }
|
||||
let(:title) { 'jre9' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK9U-jre_x64_linux_hotspot_9.0.4_11.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 9 9.0.4 11').with_command('tar -zxf /tmp/OpenJDK9U-jre_x64_linux_hotspot_9.0.4_11.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 9 9.0.4 11').that_requires('Archive[/tmp/OpenJDK9U-jre_x64_linux_hotspot_9.0.4_11.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 10 JRE' do
|
||||
let(:params) { { ensure: 'present', version: '10', java: 'jre' } }
|
||||
let(:title) { 'jre11' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK10U-jre_x64_linux_hotspot_10.0.2_13.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 10 10.0.2 13').with_command('tar -zxf /tmp/OpenJDK10U-jre_x64_linux_hotspot_10.0.2_13.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 10 10.0.2 13').that_requires('Archive[/tmp/OpenJDK10U-jre_x64_linux_hotspot_10.0.2_13.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 11 JRE' do
|
||||
let(:params) { { ensure: 'present', version: '11', java: 'jre' } }
|
||||
let(:title) { 'jre11' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK11U-jre_x64_linux_hotspot_11.0.2_9.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 11 11.0.2 9').with_command('tar -zxf /tmp/OpenJDK11U-jre_x64_linux_hotspot_11.0.2_9.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 11 11.0.2 9').that_requires('Archive[/tmp/OpenJDK11U-jre_x64_linux_hotspot_11.0.2_9.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 12 JRE' do
|
||||
let(:params) { { ensure: 'present', version: '12', java: 'jre' } }
|
||||
let(:title) { 'jre12' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK12U-jre_x64_linux_hotspot_12.0.1_12.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 12 12.0.1 12').with_command('tar -zxf /tmp/OpenJDK12U-jre_x64_linux_hotspot_12.0.1_12.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 12 12.0.1 12').that_requires('Archive[/tmp/OpenJDK12U-jre_x64_linux_hotspot_12.0.1_12.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when installing multiple versions' do
|
||||
let(:params) do
|
||||
{
|
||||
ensure: 'present',
|
||||
version_major: '8u202',
|
||||
version_minor: 'b08',
|
||||
java: 'jdk',
|
||||
}
|
||||
end
|
||||
let(:title) { 'jdk8' }
|
||||
|
||||
let(:pre_condition) do
|
||||
<<-EOL
|
||||
java::adopt {
|
||||
'jdk8172':
|
||||
ensure => 'present',
|
||||
version_major => '8u172',
|
||||
version_minor => 'b11',
|
||||
java => 'jdk',
|
||||
}
|
||||
EOL
|
||||
end
|
||||
|
||||
it { is_expected.to compile }
|
||||
end
|
||||
|
||||
context 'when specifying package_type tar.gz and basedir' do
|
||||
let(:params) do
|
||||
{
|
||||
ensure: 'present',
|
||||
version: '8',
|
||||
java: 'jdk',
|
||||
basedir: '/usr/java',
|
||||
package_type: 'tar.gz',
|
||||
}
|
||||
end
|
||||
let(:title) { 'jdk8' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK8U-jdk_x64_linux_hotspot_8u202b08.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 8 8u202 b08').with_command('tar -zxf /tmp/OpenJDK8U-jdk_x64_linux_hotspot_8u202b08.tar.gz -C /usr/java') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 8 8u202 b08').that_requires('Archive[/tmp/OpenJDK8U-jdk_x64_linux_hotspot_8u202b08.tar.gz]') }
|
||||
end
|
||||
context 'when manage_basedir is set to true' do
|
||||
let(:params) do
|
||||
{
|
||||
ensure: 'present',
|
||||
version: '8',
|
||||
java: 'jdk',
|
||||
basedir: '/usr/java',
|
||||
manage_basedir: true,
|
||||
}
|
||||
end
|
||||
let(:title) { 'jdk8' }
|
||||
|
||||
it { is_expected.to contain_file('/usr/java') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'with Ubuntu 64-bit' do
|
||||
let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '16.04' } } } }
|
||||
|
||||
context 'when AdoptOpenJDK Java 8 JDK' do
|
||||
let(:params) { { ensure: 'present', version: '8', java: 'jdk' } }
|
||||
let(:title) { 'jdk8' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK8U-jdk_x64_linux_hotspot_8u202b08.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 8 8u202 b08').with_command('tar -zxf /tmp/OpenJDK8U-jdk_x64_linux_hotspot_8u202b08.tar.gz -C /usr/lib/jvm') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 8 8u202 b08').that_requires('Archive[/tmp/OpenJDK8U-jdk_x64_linux_hotspot_8u202b08.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 9 JDK' do
|
||||
let(:params) { { ensure: 'present', version: '9', java: 'jdk' } }
|
||||
let(:title) { 'jdk9' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK9U-jdk_x64_linux_hotspot_9.0.4_11.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 9 9.0.4 11').with_command('tar -zxf /tmp/OpenJDK9U-jdk_x64_linux_hotspot_9.0.4_11.tar.gz -C /usr/lib/jvm') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 9 9.0.4 11').that_requires('Archive[/tmp/OpenJDK9U-jdk_x64_linux_hotspot_9.0.4_11.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 10 JDK' do
|
||||
let(:params) { { ensure: 'present', version: '10', java: 'jdk' } }
|
||||
let(:title) { 'jdk10' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK10U-jdk_x64_linux_hotspot_10.0.2_13.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 10 10.0.2 13').with_command('tar -zxf /tmp/OpenJDK10U-jdk_x64_linux_hotspot_10.0.2_13.tar.gz -C /usr/lib/jvm') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 10 10.0.2 13').that_requires('Archive[/tmp/OpenJDK10U-jdk_x64_linux_hotspot_10.0.2_13.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 11 JDK' do
|
||||
let(:params) { { ensure: 'present', version: '11', java: 'jdk' } }
|
||||
let(:title) { 'jdk11' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK11U-jdk_x64_linux_hotspot_11.0.2_9.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 11 11.0.2 9').with_command('tar -zxf /tmp/OpenJDK11U-jdk_x64_linux_hotspot_11.0.2_9.tar.gz -C /usr/lib/jvm') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 11 11.0.2 9').that_requires('Archive[/tmp/OpenJDK11U-jdk_x64_linux_hotspot_11.0.2_9.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 12 JDK' do
|
||||
let(:params) { { ensure: 'present', version: '12', java: 'jdk' } }
|
||||
let(:title) { 'jdk12' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK12U-jdk_x64_linux_hotspot_12.0.1_12.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 12 12.0.1 12').with_command('tar -zxf /tmp/OpenJDK12U-jdk_x64_linux_hotspot_12.0.1_12.tar.gz -C /usr/lib/jvm') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jdk 12 12.0.1 12').that_requires('Archive[/tmp/OpenJDK12U-jdk_x64_linux_hotspot_12.0.1_12.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 8 JRE' do
|
||||
let(:params) { { ensure: 'present', version: '8', java: 'jre' } }
|
||||
let(:title) { 'jre8' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK8U-jre_x64_linux_hotspot_8u202b08.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 8 8u202 b08').with_command('tar -zxf /tmp/OpenJDK8U-jre_x64_linux_hotspot_8u202b08.tar.gz -C /usr/lib/jvm') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 8 8u202 b08').that_requires('Archive[/tmp/OpenJDK8U-jre_x64_linux_hotspot_8u202b08.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 9 JRE' do
|
||||
let(:params) { { ensure: 'present', version: '9', java: 'jre' } }
|
||||
let(:title) { 'jre9' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK9U-jre_x64_linux_hotspot_9.0.4_11.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 9 9.0.4 11').with_command('tar -zxf /tmp/OpenJDK9U-jre_x64_linux_hotspot_9.0.4_11.tar.gz -C /usr/lib/jvm') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 9 9.0.4 11').that_requires('Archive[/tmp/OpenJDK9U-jre_x64_linux_hotspot_9.0.4_11.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 10 JRE' do
|
||||
let(:params) { { ensure: 'present', version: '10', java: 'jre' } }
|
||||
let(:title) { 'jre11' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK10U-jre_x64_linux_hotspot_10.0.2_13.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 10 10.0.2 13').with_command('tar -zxf /tmp/OpenJDK10U-jre_x64_linux_hotspot_10.0.2_13.tar.gz -C /usr/lib/jvm') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 10 10.0.2 13').that_requires('Archive[/tmp/OpenJDK10U-jre_x64_linux_hotspot_10.0.2_13.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 11 JRE' do
|
||||
let(:params) { { ensure: 'present', version: '11', java: 'jre' } }
|
||||
let(:title) { 'jre11' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK11U-jre_x64_linux_hotspot_11.0.2_9.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 11 11.0.2 9').with_command('tar -zxf /tmp/OpenJDK11U-jre_x64_linux_hotspot_11.0.2_9.tar.gz -C /usr/lib/jvm') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 11 11.0.2 9').that_requires('Archive[/tmp/OpenJDK11U-jre_x64_linux_hotspot_11.0.2_9.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when AdoptOpenJDK Java 12 JRE' do
|
||||
let(:params) { { ensure: 'present', version: '12', java: 'jre' } }
|
||||
let(:title) { 'jre12' }
|
||||
|
||||
it { is_expected.to contain_archive('/tmp/OpenJDK12U-jre_x64_linux_hotspot_12.0.1_12.tar.gz') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 12 12.0.1 12').with_command('tar -zxf /tmp/OpenJDK12U-jre_x64_linux_hotspot_12.0.1_12.tar.gz -C /usr/lib/jvm') }
|
||||
it { is_expected.to contain_exec('Install AdoptOpenJDK java jre 12 12.0.1 12').that_requires('Archive[/tmp/OpenJDK12U-jre_x64_linux_hotspot_12.0.1_12.tar.gz]') }
|
||||
end
|
||||
|
||||
context 'when installing multiple versions' do
|
||||
let(:params) do
|
||||
{
|
||||
ensure: 'present',
|
||||
version_major: '8u202',
|
||||
version_minor: 'b08',
|
||||
java: 'jdk',
|
||||
}
|
||||
end
|
||||
let(:title) { 'jdk8' }
|
||||
|
||||
let(:pre_condition) do
|
||||
<<-EOL
|
||||
java::adopt {
|
||||
'jdk8172':
|
||||
ensure => 'present',
|
||||
version_major => '8u172',
|
||||
version_minor => 'b11',
|
||||
java => 'jdk',
|
||||
}
|
||||
EOL
|
||||
end
|
||||
|
||||
it { is_expected.to compile }
|
||||
end
|
||||
end
|
||||
describe 'incompatible OSes' do
|
||||
[
|
||||
{
|
||||
kernel: 'Windows',
|
||||
os: {
|
||||
family: 'Windows',
|
||||
name: 'Windows',
|
||||
release: {
|
||||
full: '8.1',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
kernel: 'Darwin',
|
||||
os: {
|
||||
family: 'Darwin',
|
||||
name: 'Darwin',
|
||||
release: {
|
||||
full: '13.3.0',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
kernel: 'AIX',
|
||||
os: {
|
||||
family: 'AIX',
|
||||
name: 'AIX',
|
||||
release: {
|
||||
full: '7100-02-00-000',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
kernel: 'AIX',
|
||||
os: {
|
||||
family: 'AIX',
|
||||
name: 'AIX',
|
||||
release: {
|
||||
full: '6100-07-04-1216',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
kernel: 'AIX',
|
||||
os: {
|
||||
family: 'AIX',
|
||||
name: 'AIX',
|
||||
release: {
|
||||
full: '5300-12-01-1016',
|
||||
},
|
||||
},
|
||||
},
|
||||
].each do |facts|
|
||||
let(:facts) { facts }
|
||||
let(:title) { 'jdk' }
|
||||
|
||||
it "is_expected.to fail on #{facts[:os][:name]} #{facts[:os][:release][:full]}" do
|
||||
expect { catalogue }.to raise_error Puppet::Error, %r{unsupported platform}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -5,20 +5,21 @@ describe 'java_libjvm_path' do
|
||||
|
||||
before(:each) do
|
||||
Facter.clear
|
||||
allow(Facter.fact(:kernel)).to receive(:value).once.and_return('Linux')
|
||||
allow(Facter.fact(:java_default_home)).to receive(:value).once.and_return(java_default_home)
|
||||
allow(Facter.fact(:kernel)).to receive(:value).and_return('Linux')
|
||||
allow(Facter.fact(:java_default_home)).to receive(:value).and_return(java_default_home)
|
||||
end
|
||||
|
||||
context 'when libjvm exists' do
|
||||
it do
|
||||
allow(Dir).to receive(:glob).with("#{java_default_home}/**/lib/**/libjvm.so").and_return(['/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so'])
|
||||
allow(Facter.fact(:java_major_version)).to receive(:value).and_return(8)
|
||||
allow(Dir).to receive(:glob).with("#{java_default_home}/jre/lib/**/libjvm.so").and_return(['/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so'])
|
||||
expect(Facter.value(:java_libjvm_path)).to eql '/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server'
|
||||
end
|
||||
end
|
||||
|
||||
context 'when libjvm does not exist' do
|
||||
it do
|
||||
allow(Dir).to receive(:glob).with("#{java_default_home}/**/lib/**/libjvm.so").and_return([])
|
||||
allow(Dir).to receive(:glob).with("#{java_default_home}/lib/**/libjvm.so").and_return([])
|
||||
expect(Facter.value(:java_libjvm_path)).to be nil
|
||||
end
|
||||
end
|
||||
|
||||
@@ -16,7 +16,7 @@ describe 'java_major_version' do
|
||||
|
||||
context 'when java not present, returns nil' do
|
||||
before :each do
|
||||
allow(Facter.fact(:java_version)).to receive(:value).and_return('nil')
|
||||
allow(Facter.fact(:java_version)).to receive(:value).and_return(nil)
|
||||
end
|
||||
it do
|
||||
expect(Facter.fact(:java_major_version).value).to be_nil
|
||||
|
||||
Reference in New Issue
Block a user