diff --git a/manifests/params.pp b/manifests/params.pp index bb4e8ce..f905bc9 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -30,8 +30,14 @@ class java::params { } } 'Fedora': { - $jdk_package = 'java-1.7.0-openjdk-devel' - $jre_package = 'java-1.7.0-openjdk' + if (versioncmp($::operatingsystemrelease, '21') < 0) { + $jdk_package = 'java-1.7.0-openjdk-devel' + $jre_package = 'java-1.7.0-openjdk' + } + else { + $jdk_package = 'java-1.8.0-openjdk-devel' + $jre_package = 'java-1.8.0-openjdk' + } } 'Amazon': { $jdk_package = 'java-1.7.0-openjdk-devel' diff --git a/spec/classes/java_spec.rb b/spec/classes/java_spec.rb index b24e9ed..4b29825 100644 --- a/spec/classes/java_spec.rb +++ b/spec/classes/java_spec.rb @@ -26,17 +26,28 @@ describe 'java', :type => :class do it { should contain_exec('update-java-alternatives').with_command('alternatives --set java /usr/java/jre1.7.0_67/bin/java') } end - context 'select openjdk for Fedora' do - let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora'} } + context 'select openjdk for Fedora 20' do + let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '20'} } it { should contain_package('java').with_name('java-1.7.0-openjdk-devel') } end - context 'select passed value for Fedora' do - let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora'} } + context 'select openjdk for Fedora 21' do + let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21'} } + it { should contain_package('java').with_name('java-1.8.0-openjdk-devel') } + end + + context 'select passed value for Fedora 20' do + let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '20'} } let(:params) { { 'distribution' => 'jre' } } it { should contain_package('java').with_name('java-1.7.0-openjdk') } end + context 'select passed value for Fedora 21' do + let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21'} } + let(:params) { { 'distribution' => 'jre' } } + it { should contain_package('java').with_name('java-1.8.0-openjdk') } + end + context 'select passed value for Centos 5.3' do let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.3'} } let(:params) { { 'package' => 'jdk' } }