Skip to content
This repository has been archived by the owner on Dec 2, 2020. It is now read-only.

Commit

Permalink
Spike of only installing newer version
Browse files Browse the repository at this point in the history
  • Loading branch information
petems committed May 6, 2015
1 parent ab56ffa commit ea86ac7
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 23 deletions.
9 changes: 5 additions & 4 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@
) {
include boxen::config

$new_java_version = "1.${java_major_version}-${update_version}"
$jre_url = "${base_download_url}/jre-${java_major_version}-macosx-x64.dmg"
$jdk_url = "${base_download_url}/jdk-${java_major_version}-macosx-x64.dmg"
$new_java_version = "1.${java_major_version}.${update_version}"
$java_package_name = "${java_major_version}u${update_version}-macosx-x64.dmg"
$jre_url = "${base_download_url}/jre-${java_package_name}"
$jdk_url = "${base_download_url}/jdk-${java_package_name}"
$wrapper = "${boxen::config::bindir}/java"
$jdk_dir = "/Library/Java/JavaVirtualMachines/jdk1.${java_major_version}.0.jdk"
$jdk_dir = "/Library/Java/JavaVirtualMachines/jdk1.${java_major_version}.0_${update_version}.jdk"
$sec_dir = "${jdk_dir}/Contents/Home/jre/lib/security"

if ((versioncmp($::macosx_productversion_major, '10.10') >= 0) and
Expand Down
81 changes: 62 additions & 19 deletions spec/classes/java_spec.rb
Original file line number Diff line number Diff line change
@@ -1,29 +1,26 @@
require 'spec_helper'

describe "java" do
let(:facts) { default_test_facts }
let(:params) {
{
:update_version => '42',
:base_download_url => 'https://downloads.test/java'
}
context "default parameters"
let(:facts) {
default_test_facts.merge({ :macosx_productversion_major => '10.10' })
}

it do
should contain_class('boxen::config')

should contain_package('jre-7u42.dmg').with({
should contain_package('jre-7u71.dmg').with({
:ensure => 'present',
:alias => 'java-jre',
:provider => 'pkgdmg',
:source => 'https://downloads.test/java/jre-7u42-macosx-x64.dmg'
:source => 'https://s3.amazonaws.com/boxen-downloads/java/jre-7u71-macosx-x64.dmg'
})

should contain_package('jdk-7u42.dmg').with({
should contain_package('jdk-7u71.dmg').with({
:ensure => 'present',
:alias => 'java',
:provider => 'pkgdmg',
:source => 'https://downloads.test/java/jdk-7u42-macosx-x64.dmg'
:source => 'https://s3.amazonaws.com/boxen-downloads/java/jdk-7u71-macosx-x64.dmg'
})

should contain_file('/test/boxen/bin/java').with({
Expand All @@ -33,16 +30,62 @@
end

context 'fails when java version has Yosemite relevant bug' do
let(:facts) { default_test_facts.merge({ :macosx_productversion_major => '10.10' }) }
let(:params) {
{
:update_version => '51',
context "java 7" do
let(:facts) { default_test_facts.merge({ :macosx_productversion_major => '10.10' }) }
let(:params) {
{
:java_major_version => '7',
:update_version => '51',
}
}
}
it do
expect {
should contain_class('java')
}.to raise_error(/Yosemite Requires Java 7 with a patch level >= 71 \(Bug JDK\-8027686\)/)
it do
expect {
should contain_class('java')
}.to raise_error(/Yosemite Requires Java 7 with a patch level >= 71 \(Bug JDK\-8027686\)/)
end
end
context "java 8" do
let(:facts) { default_test_facts.merge({ :macosx_productversion_major => '10.10' }) }
let(:params) {
{
:java_major_version => '8',
:update_version => '11',
}
}
it do
expect {
should contain_class('java')
}.to raise_error(/Yosemite Requires Java 8 with a patch level >= 20 \(Bug JDK\-8027686\)/)
end
end
end

context 'doesnt install java if newer version already present' do
context "java 7" do
let(:facts) { default_test_facts.merge({ :java_version => '1.7.0_72' }) }
let(:params) {
{
:java_major_version => '7',
:update_version => '71',
}
}
it do
should contain_class('boxen::config')
should_not contain_package('jre-7u71.dmg')
end
end
context "java 8" do
let(:facts) { default_test_facts.merge({ :java_version => '1.8.0_22' }) }
let(:params) {
{
:java_major_version => '8',
:update_version => '21',
}
}
it do
should contain_class('boxen::config')
should_not contain_package('jre-8u21.dmg')
end
end
end
end

0 comments on commit ea86ac7

Please sign in to comment.