Compare commits

...

46 Commits
2.3.0 ... 3.1.0

Author SHA1 Message Date
Eimhin Laverty
255406b30f Merge pull request #312 from david22swan/PreRelease
3.1.0 Pre Release
2018-09-06 16:30:26 +01:00
David Swan
a24f8f15ea 3.1.0 Pre Release 2018-09-06 16:21:26 +01:00
Eimhin Laverty
5d07f08126 Merge pull request #311 from puppetlabs/pdksync_pdksync-beaker4
pdksync - (MODULES-7658) use beaker4 in puppet-module-gems
2018-08-31 14:30:05 +01:00
tphoney
01b95d32c6 (MODULES-7658) use beaker4 in puppet-module-gems 2018-08-30 17:07:43 +01:00
Helen
3c9f98d75e Merge pull request #310 from puppetlabs/pdksync_bumping_puppet_version
pdksync - (MODULES-7705) - Bumping stdlib dependency from < 5.0.0 to < 6.0.0
2018-08-28 10:04:24 +01:00
Paula Muir
e0b0e1cd19 (MODULES-7705) - Bumping stdlib requirement to 6.0.0 2018-08-24 09:15:08 +01:00
Helen
7067aed306 Merge pull request #305 from puppetlabs/pdksync_1.7.0-0-g57412ed
pdksync - Update using 1.7.0
2018-08-22 14:56:33 +01:00
Paula Muir
cb637faf83 pdksync_1.7.0-0-g57412ed 2018-08-22 14:33:05 +01:00
Eimhin Laverty
66023e1a66 Merge pull request #304 from puppetlabs/pdksync_pdksync-beaker3
pdksync - (MODULES-7658) use beaker3 in puppet-module-gems
2018-08-21 16:22:10 +01:00
tphoney
743006a16e (MODULES-7658) use beaker3 in puppet-module-gems 2018-08-21 15:27:02 +01:00
Paula Muir
d5d69ee5ac Merge pull request #303 from puppetlabs/release
Release merge back 3.0.0
2018-08-14 10:57:03 +01:00
Paula Muir
2124c735f5 Merge pull request #302 from eimlav/release-prep
(MODULES-7661) - Release prep for 3.0.0 release
2018-08-13 15:24:00 +01:00
Eimhin Laverty
b0e6bc6d84 (MODULES-7661) - Release prep for 3.0.0 release 2018-08-13 14:55:23 +01:00
david22swan
016772c800 Merge pull request #301 from eimlav/update-limitations
(MODULES-7629) - Update README Limitations section
2018-08-09 16:35:26 +01:00
Eimhin Laverty
42556dfff3 (MODULES-7629) - Update README Limitations section 2018-08-09 14:31:49 +01:00
Helen
2bdbc7df04 Merge pull request #299 from david22swan/MODULES-7561
(MODULES-7561) - Addition of support for Ubuntu 18.04 to java
2018-08-01 11:02:32 +01:00
David Swan
56c1d80150 (MODULES-7561) - Addition of support for Ubuntu 18.04 to java 2018-07-31 15:08:59 +01:00
david22swan
ca5ef782f3 Merge pull request #296 from mpdude/patch-1
Allow this package to be installed together with puppet-archive 3.0.0
2018-06-15 10:39:12 +01:00
Matthias Pigulla
b5297d553b Allow this package to be installed together with puppet-archive 3.0.0
Although it's a major version bump, I don't expect this module here to be impacted of the changes.
2018-06-14 17:33:34 +02:00
Helen
bdcb2c628f Merge pull request #295 from david22swan/FM-6963
[FM-6963] Removal of unsupported OS from java
2018-06-04 09:09:13 +01:00
David Swan
a99915342b [FM-6963] Removal of unsupported OS from java 2018-06-01 14:59:13 +01:00
david22swan
d6eb532960 Merge pull request #294 from puppetlabs/pdksync_heads/master-0-g34e3266
pdksync - Update using 1.5.0
2018-05-18 15:36:33 +01:00
Helen Campbell
891b70a7c6 pdksync_heads/master-0-g34e3266 2018-05-18 15:21:46 +01:00
david22swan
3ba9230b0b Merge pull request #292 from HelenCampbell/gitlabfix
Fixing typo in sync.yml
2018-05-16 17:57:24 +01:00
Helen Campbell
3a35964083 Fixing typo in sync.yml 2018-05-16 17:44:48 +01:00
david22swan
cf1028b8b2 Merge pull request #290 from pmcmaw/unmanage_gitlab
(MODULES-7153) - Unmanage gitlab-ci.yml
2018-05-11 13:30:39 +01:00
Paula McMaw
241800601a (MODULES-7153) - Unmanage gitlab-ci.yml 2018-05-11 11:43:07 +01:00
Paula Muir
2c5397c66c Merge pull request #289 from HelenCampbell/syncupdate
(MODULES-7023) Update .sync.yml for pdk update
2018-04-26 17:06:24 +01:00
Helen Campbell
d7ab10786e (MODULES-7023) Update .sync.yml for pdk update 2018-04-26 15:04:48 +01:00
david22swan
e1173e59c7 Merge pull request #287 from sevencastles/remove_ensure_resource
Remove ensure_resource to avoid potential conflict
2018-02-26 13:47:17 +00:00
Carlo Rengo
6ba478375a Remove ensure_resource to avoid potential conflict
This was probably unintended and could cause conflicts where
stdlib::stages isn't desired.
2018-02-02 10:21:53 +01:00
Helen
47afbd2462 Merge pull request #286 from puppetlabs/release
Release merge back 2.4.0
2018-01-23 16:59:32 +00:00
Paula Muir
10503819d2 Merge pull request #285 from HelenCampbell/release
Release prep 2.4.0
2018-01-23 15:24:15 +00:00
Helen Campbell
5db3084c11 Release prep 2.4.0 2018-01-23 14:58:42 +00:00
Paula Muir
10dc3068a7 Merge pull request #284 from HelenCampbell/conversion1.3.2
PDK Convert 1.3.2
2018-01-23 14:16:32 +00:00
Helen Campbell
b4490a36b3 Remove bundle update command 2018-01-23 13:53:30 +00:00
Helen Campbell
6561d98e58 PDK Convert 1.3.2 2018-01-23 13:42:24 +00:00
TP Honey
61cfbe3154 Merge pull request #283 from HelenCampbell/javahometestfix
Fixes java_home for SLES 11.4 and relevant tests
2018-01-23 10:22:39 +00:00
Helen Campbell
85c17ef66f Fixes the tests for SLES java_home location 2018-01-23 09:55:13 +00:00
mirespace
697c1911f9 $java_home for SLES 11.4
Fixed java_home for matching package to be installed
2018-01-16 11:14:51 +01:00
Paula Muir
c8ce18949b Merge pull request #281 from puppetlabs/msync_MODULES-6339
(maint) modulesync 65530a4 Update Travis
2018-01-05 15:50:32 +00:00
Michael T Lombardi
9c103a2219 (maint) modulesync 65530a4 Update Travis
Related: https://github.com/puppetlabs/modulesync_configs/pull/177
2018-01-03 16:12:39 -06:00
TP Honey
61c8794661 (maint) - modulesync 384f4c1 (#280) 2017-12-13 12:14:15 +00:00
Paula McMaw
901bfe989a Merge pull request #279 from tphoney/FM-6634
FM-6634 rubocop fixes
2017-12-06 15:59:33 +00:00
tphoney
e53b8bb563 FM-6634 rubocop fixes 2017-12-06 15:47:27 +00:00
david22swan
77b2b199e4 Merge pull request #278 from puppetlabs/release
Release mergeback 2.3.0
2017-12-01 15:27:25 +00:00
28 changed files with 766 additions and 396 deletions

40
.gitignore vendored
View File

@@ -1,24 +1,24 @@
#This file is generated by ModuleSync, do not edit.
pkg/
Gemfile.lock
Gemfile.local
vendor/
spec/fixtures/manifests/
spec/fixtures/modules/
log/
junit/
.vagrant/
.bundle/
coverage/
log/
.idea/
.metadata
*.iml
.git/
.*.sw[op]
.metadata
.yardoc
.yardwarns
*.iml
/.bundle/
/.idea/
/.vagrant/
/coverage/
/bin/
/doc/
/Gemfile.local
/Gemfile.lock
/junit/
/log/
/pkg/
/spec/fixtures/manifests/
/spec/fixtures/modules/
/tmp/
/vendor/
/convert_report.txt
/update_report.txt
.DS_Store
tmp/
vendor/
doc/

24
.pdkignore Normal file
View File

@@ -0,0 +1,24 @@
.git/
.*.sw[op]
.metadata
.yardoc
.yardwarns
*.iml
/.bundle/
/.idea/
/.vagrant/
/coverage/
/bin/
/doc/
/Gemfile.local
/Gemfile.lock
/junit/
/log/
/pkg/
/spec/fixtures/manifests/
/spec/fixtures/modules/
/tmp/
/vendor/
/convert_report.txt
/update_report.txt
.DS_Store

View File

@@ -1,19 +1,21 @@
---
require:
- rubocop-rspec
require: rubocop-rspec
AllCops:
DisplayCopNames: true
TargetRubyVersion: '2.1'
Include:
- "./**/*.rb"
Exclude:
- bin/*
- ".vendor/**/*"
- Gemfile
- Rakefile
- "**/Gemfile"
- "**/Rakefile"
- pkg/**/*
- spec/fixtures/**/*
- vendor/**/*
inherit_from: .rubocop_todo.yml
- "**/Puppetfile"
- "**/Vagrantfile"
- "**/Guardfile"
Metrics/LineLength:
Description: People have wide screens, use them.
Max: 200
@@ -64,12 +66,24 @@ Style/TrailingCommaInLiteral:
Style/SymbolArray:
Description: Using percent style obscures symbolic intent of array's contents.
EnforcedStyle: brackets
RSpec/MessageSpies:
EnforcedStyle: receive
Style/Documentation:
Exclude:
- lib/puppet/parser/functions/**/*
- spec/**/*
Style/WordArray:
EnforcedStyle: brackets
Style/CollectionMethods:
Enabled: true
Style/MethodCalledOnDoEndBlock:
Enabled: true
Style/StringMethods:
Enabled: true
Layout/EndOfLine:
Enabled: false
Layout/IndentHeredoc:
Enabled: false
Metrics/AbcSize:
Enabled: false
Metrics/BlockLength:
@@ -88,8 +102,14 @@ Metrics/PerceivedComplexity:
Enabled: false
RSpec/DescribeClass:
Enabled: false
RSpec/ExampleLength:
Enabled: false
RSpec/MessageExpectation:
Enabled: false
RSpec/MultipleExpectations:
Enabled: false
RSpec/NestedGroups:
Enabled: false
Style/AsciiComments:
Enabled: false
Style/IfUnlessModifier:

View File

@@ -1,9 +1,33 @@
---
.travis.yml:
docker_sets:
- set: docker/centos-7
- set: docker/ubuntu-14.04
docker_defaults:
bundler_args: ""
secure: ""
branches:
- release
Gemfile:
optional:
':development':
- gem: 'github_changelog_generator'
git: 'https://github.com/skywinder/github-changelog-generator'
ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018'
condition: "Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')"
required:
':system_tests':
- gem: 'puppet-module-posix-system-r#{minor_version}'
platforms: ruby
- gem: 'puppet-module-win-system-r#{minor_version}'
platforms:
- mswin
- mingw
- x64_mingw
appveyor.yml:
delete: true
spec/spec_helper.rb:
allow_deprecations: true
.travis.yml:
extras:
- rvm: 2.1.9
script: bundle exec rake rubocop
.gitlab-ci.yml:
unmanaged: true

View File

@@ -1,34 +1,61 @@
#This file is generated by ModuleSync, do not edit.
---
sudo: false
dist: trusty
language: ruby
cache: bundler
script: "bundle exec rake release_checks"
#Inserting below due to the following issue: https://github.com/travis-ci/travis-ci/issues/3531#issuecomment-88311203
before_install:
- gem update bundler
- bundle -v
- rm -f Gemfile.lock
- gem update --system
- gem --version
- bundle -v
script:
- 'bundle exec rake $CHECK'
bundler_args: --without system_tests
rvm:
- 2.4.4
env:
global:
- BEAKER_PUPPET_COLLECTION=puppet5 PUPPET_GEM_VERSION="~> 5.0"
matrix:
fast_finish: true
include:
- rvm: 2.3.1
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/ubuntu-14.04
script: bundle exec rake beaker
services: docker
sudo: required
- rvm: 2.3.1
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/centos-7
script: bundle exec rake beaker
services: docker
sudo: required
- rvm: 2.4.1
bundler_args: --without system_tests
env: PUPPET_GEM_VERSION="~> 5.0"
- rvm: 2.1.9
bundler_args: --without system_tests
env: PUPPET_GEM_VERSION="~> 4.0"
- rvm: 2.1.9
script: bundle exec rake rubocop
-
bundler_args:
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_set=docker/centos-7 BEAKER_TESTMODE=apply
rvm: 2.4.4
script: bundle exec rake beaker
services: docker
sudo: required
-
bundler_args:
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_set=docker/ubuntu-14.04 BEAKER_TESTMODE=apply
rvm: 2.4.4
script: bundle exec rake beaker
services: docker
sudo: required
-
env: CHECK="syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop"
-
env: CHECK=parallel_spec
-
env: PUPPET_GEM_VERSION="~> 4.0" CHECK=parallel_spec
rvm: 2.1.9
branches:
only:
- master
- /^v\d/
- release
notifications:
email: false
deploy:
provider: puppetforge
user: puppet
password:
secure: ""
on:
tags: true
all_branches: true
condition: "$DEPLOY_TO_FORGE = yes"

1
.yardopts Normal file
View File

@@ -0,0 +1 @@
--markup markdown

View File

@@ -1,3 +1,42 @@
# Change log
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).
## [3.1.0](https://github.com/puppetlabs/puppetlabs-java/tree/3.1.0) (2018-09-06)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-java/compare/3.0.0...3.1.0)
### Added
- pdksync - \(MODULES-7705\) - Bumping stdlib dependency from \< 5.0.0 to \< 6.0.0 [\#310](https://github.com/puppetlabs/puppetlabs-java/pull/310) ([pmcmaw](https://github.com/pmcmaw))
## [3.0.0](https://github.com/puppetlabs/puppetlabs-java/tree/3.0.0) (2018-08-13)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-java/compare/2.4.0...3.0.0)
### Changed
- \[FM-6963\] Removal of unsupported OS from java [\#295](https://github.com/puppetlabs/puppetlabs-java/pull/295) ([david22swan](https://github.com/david22swan))
### Added
- \(MODULES-7561\) - Addition of support for Ubuntu 18.04 to java [\#299](https://github.com/puppetlabs/puppetlabs-java/pull/299) ([david22swan](https://github.com/david22swan))
### Fixed
- Remove ensure\_resource to avoid potential conflict [\#287](https://github.com/puppetlabs/puppetlabs-java/pull/287) ([sevencastles](https://github.com/sevencastles))
## 2.4.0
### Summary
This release uses the PDK convert functionality which in return makes the module PDK compliant. Also includes a clean up from Rubocop.
#### Changed
- 1.3.2 PDK convert has been applied [MODULES-6456](https://tickets.puppetlabs.com/browse/MODULES-6456)
- The modules has undergone a Rubocop cleanup.
#### Fixed
- $java_home for SLES 11.4 has been updated to the correct location.
## Supported Release [2.3.0]
### Summary
This release is in order to implement Rubocop changes into the module.
@@ -283,3 +322,6 @@ Jeff McCune <jeff@puppetlabs.com>
[2.3.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.2.0...2.3.0
[2.2.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.1.1...2.2.0
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*

111
Gemfile
View File

@@ -1,76 +1,83 @@
#This file is generated by ModuleSync, do not edit.
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
source ENV['GEM_SOURCE'] || "https://rubygems.org"
def location_for(place_or_version, fake_version = nil)
if place_or_version =~ %r{\A(git[:@][^#]*)#(.*)}
[fake_version, { git: Regexp.last_match(1), branch: Regexp.last_match(2), require: false }].compact
elsif place_or_version =~ %r{\Afile:\/\/(.*)}
['>= 0', { path: File.expand_path(Regexp.last_match(1)), require: false }]
else
[place_or_version, { require: false }]
end
end
# Determines what type of gem is requested based on place_or_version.
def gem_type(place_or_version)
if place_or_version =~ /^git:/
if place_or_version =~ %r{\Agit[:@]}
:git
elsif place_or_version =~ /^file:/
elsif !place_or_version.nil? && place_or_version.start_with?('file:')
:file
else
:gem
end
end
# Find a location or specific version for a gem. place_or_version can be a
# version, which is most often used. It can also be git, which is specified as
# `git://somewhere.git#branch`. You can also use a file source location, which
# is specified as `file://some/location/on/disk`.
def location_for(place_or_version, fake_version = nil)
if place_or_version =~ /^(git[:@][^#]*)#(.*)/
[fake_version, { :git => $1, :branch => $2, :require => false }].compact
elsif place_or_version =~ /^file:\/\/(.*)/
['>= 0', { :path => File.expand_path($1), :require => false }]
else
[place_or_version, { :require => false }]
end
end
# Used for gem conditionals
supports_windows = false
ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments
minor_version = "#{ruby_version_segments[0]}.#{ruby_version_segments[1]}"
minor_version = ruby_version_segments[0..1].join('.')
group :development do
gem "puppet-module-posix-default-r#{minor_version}", :require => false, :platforms => "ruby"
gem "puppet-module-win-default-r#{minor_version}", :require => false, :platforms => ["mswin", "mingw", "x64_mingw"]
gem "puppet-module-posix-dev-r#{minor_version}", :require => false, :platforms => "ruby"
gem "puppet-module-win-dev-r#{minor_version}", '0.0.7', :require => false, :platforms => ["mswin", "mingw", "x64_mingw"]
gem "json_pure", '<= 2.0.1', :require => false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
gem "fast_gettext", '1.1.0', :require => false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0')
gem "fast_gettext", :require => false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
gem "fast_gettext", '1.1.0', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0')
gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
gem "json", '<= 2.0.4', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.4.4')
gem "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby]
gem "puppet-module-posix-dev-r#{minor_version}", require: false, platforms: [:ruby]
gem "puppet-module-win-default-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "puppet-module-win-dev-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "github_changelog_generator", require: false, git: 'https://github.com/skywinder/github-changelog-generator', ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018' if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')
end
group :system_tests do
gem "puppet-module-posix-system-r#{minor_version}", :require => false, :platforms => "ruby"
gem "puppet-module-win-system-r#{minor_version}", :require => false, :platforms => ["mswin", "mingw", "x64_mingw"]
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '>= 3')
gem "beaker-pe", :require => false
gem "beaker-rspec", *location_for(ENV['BEAKER_RSPEC_VERSION'])
gem "beaker-hostgenerator", *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'])
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.1')
gem "puppet-blacksmith", '~> 3.4', :require => false
gem "puppet-module-posix-system-r#{minor_version}", require: false, platforms: [:ruby]
gem "puppet-module-win-system-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
end
gem 'puppet', *location_for(ENV['PUPPET_GEM_VERSION'])
puppet_version = ENV['PUPPET_GEM_VERSION']
puppet_type = gem_type(puppet_version)
facter_version = ENV['FACTER_GEM_VERSION']
hiera_version = ENV['HIERA_GEM_VERSION']
# Only explicitly specify Facter/Hiera if a version has been specified.
# Otherwise it can lead to strange bundler behavior. If you are seeing weird
# gem resolution behavior, try setting `DEBUG_RESOLVER` environment variable
# to `1` and then run bundle install.
gem 'facter', *location_for(ENV['FACTER_GEM_VERSION']) if ENV['FACTER_GEM_VERSION']
gem 'hiera', *location_for(ENV['HIERA_GEM_VERSION']) if ENV['HIERA_GEM_VERSION']
gems = {}
gems['puppet'] = location_for(puppet_version)
# Evaluate Gemfile.local if it exists
if File.exists? "#{__FILE__}.local"
eval(File.read("#{__FILE__}.local"), binding)
# If facter or hiera versions have been specified via the environment
# variables
gems['facter'] = location_for(facter_version) if facter_version
gems['hiera'] = location_for(hiera_version) if hiera_version
if Gem.win_platform? && puppet_version =~ %r{^(file:///|git://)}
# If we're using a Puppet gem on Windows which handles its own win32-xxx gem
# dependencies (>= 3.5.0), set the maximum versions (see PUP-6445).
gems['win32-dir'] = ['<= 0.4.9', require: false]
gems['win32-eventlog'] = ['<= 0.6.5', require: false]
gems['win32-process'] = ['<= 0.7.5', require: false]
gems['win32-security'] = ['<= 0.2.5', require: false]
gems['win32-service'] = ['0.8.8', require: false]
end
# Evaluate ~/.gemfile if it exists
if File.exists?(File.join(Dir.home, '.gemfile'))
eval(File.read(File.join(Dir.home, '.gemfile')), binding)
gems.each do |gem_name, gem_params|
gem gem_name, *gem_params
end
# vim:ft=ruby
# Evaluate Gemfile.local and ~/.gemfile if they exist
extra_gemfiles = [
"#{__FILE__}.local",
File.join(Dir.home, '.gemfile'),
]
extra_gemfiles.each do |gemfile|
if File.file?(gemfile) && File.readable?(gemfile)
eval(File.read(gemfile), binding)
end
end
# vim: syntax=ruby

296
HISTORY.md Normal file
View File

@@ -0,0 +1,296 @@
## 2.4.0
### Summary
This release uses the PDK convert functionality which in return makes the module PDK compliant. Also includes a clean up from Rubocop.
#### Changed
- 1.3.2 PDK convert has been applied [MODULES-6456](https://tickets.puppetlabs.com/browse/MODULES-6456)
- The modules has undergone a Rubocop cleanup.
#### Fixed
- $java_home for SLES 11.4 has been updated to the correct location.
## Supported Release [2.3.0]
### Summary
This release is in order to implement Rubocop changes into the module.
#### Added
- Several Modulesync changes have been made.
- Rubocop has been implemented in the module.
- CentOS 7 is now supported.
- Red Hat Enterprise Linux (RHEL) 7 is now supported.
- Ubuntu artful 1710 now supported.
- Bionic 1804 now supported.
## Supported Release [2.2.0]
### Summary
This release is a maintenance release that includes a roll up of minor changes.
#### Added
- Addition of Ubuntu for Oracle Java.
- Addition of Debian 9 in supported versions.
- Addition of OpenBSD case and use `realpath` rather than `readlink` in Java Default Home Facter fact.
#### Removed
- Removal of OpenBSD as a special case and deprecated `with_env` in Java Version Facter Facter fact.
## Supported Release 2.1.1
### Summary
This release is a maintenance release that includes a roll up of minor changes.
#### Added
- Basic Arch Linux, Cloud Linux and Ubuntu 17.04 compatibility.
- Metadata bump for Puppet 5.
- Search for matching line with java version.
- ([MODULES-4069](https://tickets.puppet.com/browse/MODULES-4069)) Fail when required params are not available in params.
- A test for java version when java not installed.
- Allow latest archive version as dependency.
#### Changed
- CONTRIBUTING.md document includes updates.
- Removal of Ubuntu 10.04 ad 12.04, Debian 6 in supported versions.
## Supported Release 2.1.0
### Summary
This release adds fixes to restore the ability to install Oracle Java. It also fixes the paths for the latest RHEL 7 1.7.0 and 1.8.0 OpenJDKs.
### Added
- java::oracle parameter `url`
- java::oracle parameter `url_hash`
### Fixed
- Let `java_default_home` fact work when /usr/bin/java does not exist
- Add puppet 4 parameter types
- Use `/usr/lib/jvm/java-1.x.0` symlinks for `java_home` defaults.
## Supported Release 2.0.0
### Summary
This is a major release including some bug fixes, new parameters, and general module updates.
**This release drops Puppet 3 support**
#### Added
- Debian Stretch, Yakkety Yak, Amazon Linux, Oracle Linux, Scientific Linux CERN compatibility
- `version_major` and `version_minor` parameters for specifying Java SE version to install
- `$JAVA_HOME` now set by the module on compatible systems. The `java_home` parameter is also provided for manual setting. [MODULES-2971](https://tickets.puppetlabs.com/browse/MODULES-2971)
- `proxy_server` and `proxy_type` for choosing a proxy server to get Java from
#### Changed
- Moved lower Puppet version requirement to 4.7.0
#### Fixed
- Module no longer downloads the Java archive on Puppet runs if Java is already installed.
- java_default_home fact is not always correct on oracle packages [MODULES-4050](https://tickets.puppetlabs.com/browse/MODULES-4050)
- Order of operations for archives [MODULES-4751](https://tickets.puppetlabs.com/browse/https://tickets.puppetlabs.com/browse/MODULES-4751)
- Increase Xmx setting for `java_version` fact [MODULES-4736](https://tickets.puppetlabs.com/browse/MODULES-4736)
## Supported Release 1.6.0
### Summary
Addition of a new supported OS, along with several other features and bugfixes.
#### Features
- Ubuntu 16.04 support.
- Addition example for installing Java 8.
- Update to newest modulesync_configs.
- Addition of RedHat for Oracle Java.
#### Bugfixes
- Custom archive type now given extract_path.
- Fix for rspec deprectation warnings.
- Typo fixes for readme.
- Fixed tests to run under strict variables.
- Updated Java package for SLES 11.4.
## Supported Release 1.5.0
### Summary
A release which has several support additions for different OSes. Also a couple of additional features and a few bug fixes.
#### Features
- Added Ubuntu 15.10 compatibility.
- Addition of two facts: java_libjvm_path and java_default_home.
- Added support for oracle-j2re1.8 and oracle-j2sdk1.8.
- Adds FreeBSD Support.
- Exposed the Puppet package resources install_options parameter via a new class parameter named package_options.
- Debian 8 support.
- Add support for official Oracle Java SE jdk and jre packages for CentOS.
- Use java 8 as the default on RHEL > 7.0.
#### Bugfixes
- Updated fixtures.yml to use git instead of http for stdlib.
- Updates to current msync configs.
- Small README updates and syntax error fixes.
## Supported Release 1.4.3
### Summary
Small release for support of newer PE versions. This increments the version of PE in the metadata.json file.
## 2015-10-07 - Supported Release 1.4.2
### Summary
This release fixes the fact to not trigger java every time on OS X when it is not available.
#### Bugfixes
- Causes java\_version fact to not run `java` when java is not installed on OS X
## 2015-07-16 - Supported Release 1.4.1
### Summary
This release updates the metadata for the upcoming release of PE and update params for OEL to match metadata
#### Bugfixes:
- Add missing OEL to params
## 2015-07-07 - Supported Release 1.4.0
### Summary
This release adds several new features, bugfixes, documentation updates, and test improvements.
#### Features:
- Puppet 4 support and testing
- Adds support for several Operating Systems
- Ubuntu 15.04
- OpenBSD 5.6, 5.7
- Fedora 20, 21, 22
#### Bugfixes:
- Fixes java_version fact to work on large systems. (MODULES-1749)
- Improves maintainability of java_version fact.
- Fixes java package names on Fedora 21+.
- Fixes java install problems on Puppet 3.7.5 - 3.8.1 (PUP-4520)
- Fixes create-java-alternatives commands on RedHat distros.
- Fixes bug with Debian systems missing java-common package.
## 2015-01-20 - Supported Release 1.3.0
### Summary
This release adds 3 new facts for determining Java version, adds RHEL alternatives support, adds utopic support, and fixes the flag for `update-java-alternatives` when installed from a headless pacakge.
#### Features
- Added RHEL support for alternatives
- New facts
- java_major_version
- java_patch_level
- java_version
- Add support for utopic
#### Bugfixes
- Use `--jre-headless` in the `update-java-alternatives` command when installed from a `headless` package
## 2014-11-11 - Supported Version 1.2.0
### Summary:
This release adds SLES 12 support and is tested for Future Parser Support
#### Bugfixes:
- Several readme updates
- Testcase flexability increased
#### Features:
- Add SLES 12 support
- Future Parser tested
- Validated against PE 3.7
## 2014-08-25 - Supported Version 1.1.2
### Summary:
This release begins the support coverage of the puppetlabs-java module.
### Bugfixes:
- Update java alternative values from deprecated names
- Readme updated
- Testing updated
## 2014-05-02 - Version 1.1.1
### Summary:
Add support for new versions of Debian and Ubuntu!
#### Features:
- Add support for Ubuntu Trusty (14.04)
- Add support for Debian Jessie (8.x)
## 2014-01-06 - Version 1.1.0
### Summary:
Primarily a release for Ubuntu users!
#### Features:
- Add support for Ubuntu Saucy (13.10)
- Add `java_home` parameter for centralized setting of JAVA_HOME.
- Add Scientific Linux
#### Bugfixes:
- Plus signs are valid in debian/ubuntu package names.
## 2013-08-01 - Version 1.0.1
Matthaus Owens <matthaus@puppetlabs.com>
* Update java packages for Fedora systems
## 2013-07-29 - Version 1.0.0
#### Detailed Changes
Krzysztof Suszyński <krzysztof.suszynski@coi.gov.pl>
* Adding support for Oracle Enterprise Linux
Peter Drake <pdrake@allplayers.com>
* Add support for natty
Robert Munteanu <rmuntean@adobe.com>
* Add support for OpenSUSE
Martin Jackson <martin@uncommonsense-uk.com>
* Added support Amazon Linux using facter >= 1.7.x
Gareth Rushgrove <gareth@morethanseven.net>
Brett Porter <brett@apache.org>
* Fixes for older versions of CentOS
* Improvements to module build and tests
Nathan R Valentine <nrvale0@gmail.com>
* Add support for Ubuntu quantal and raring
Sharif Nassar <sharif@mediatemple.net>
* Add support for Debian alternatives, and more than one JDK/JRE per platform.
## 2013-04-04 - Version 0.3.0
Reid Vandewiele <reid@puppetlabs.com> -
* Refactor, introduce params pattern
## 2012-11-15 - Version 0.2.0
Scott Schneider <sschneider@puppetlabs.com>
* Add Solaris support
## 2011-06-16 - Version 0.1.5
Jeff McCune <jeff@puppetlabs.com>
* Add Debian based distro (Lucid) support
## 2011-06-02 - Version 0.1.4
Jeff McCune <jeff@puppetlabs.com>
* Fix class composition ordering problems
## 2011-05-28 - Version 0.1.3
Jeff McCune <jeff@puppetlabs.com>
* Remove stages
## 2011-05-26 - Version 0.1.2
Jeff McCune <jeff@puppetlabs.com>
* Changes JRE/JDK selection class parameter to $distribution
## 2011-05-25 - Version 0.1.1
Jeff McCune <jeff@puppetlabs.com>
* Re-did versioning to follow semantic versioning
* Add validation of class parameters
## 2011-05-24 - Version 0.1.0
Jeff McCune <jeff@puppetlabs.com>
* Default to JDK version 6u25
## 2011-05-24 - Version 0.0.1
Jeff McCune <jeff@puppetlabs.com>
* Initial release
[2.3.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.2.0...2.3.0
[2.2.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.1.1...2.2.0

2
NOTICE
View File

@@ -1,6 +1,6 @@
Puppet Module - puppetlabs-java
Copyright 2017 Puppet, Inc.
Copyright 2018 Puppet, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@@ -175,7 +175,9 @@ The java module includes a few facts to describe the version of Java installed o
## Limitations
This module cannot guarantee installation of Java versions that are not available on platform repositories.
For an extensive list of supported operating systems, see [metadata.json](https://github.com/puppetlabs/puppetlabs-java/blob/master/metadata.json)
This module cannot guarantee installation of Java versions that are not available on platform repositories.
This module only manages a singular installation of Java, meaning it is not possible to manage e.g. OpenJDK 7, Oracle Java 7 and Oracle Java 8 in parallel on the same system.
@@ -188,12 +190,11 @@ OpenJDK is supported on:
* Red Hat Enterprise Linux (RHEL) 5, 6, 7
* CentOS 5, 6, 7
* Oracle Linux 6, 7
* Scientific Linux 5, 6
* Debian 6, 7
* Ubuntu 10.04, 12.04, 14.04
* Scientific Linux 6
* Debian 8, 9
* Ubuntu 14.04, 16.04, 18.04
* Solaris 11
* SLES 11 SP1, SP2, SP3, SP4; SLES 12, SP1, SP2
* OpenBSD 5.6, 5.7
* SLES 11, 12
Sun Java is supported on:

104
Rakefile
View File

@@ -1,37 +1,75 @@
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-lint/tasks/puppet-lint'
require 'puppet-syntax/tasks/puppet-syntax'
require 'puppet_blacksmith/rake_tasks' if Bundler.rubygems.find_name('puppet-blacksmith').any?
require 'github_changelog_generator/task' if Bundler.rubygems.find_name('github_changelog_generator').any?
PuppetLint.configuration.fail_on_warnings = true
PuppetLint.configuration.send('relative')
desc 'Generate pooler nodesets'
task :gen_nodeset do
require 'beaker-hostgenerator'
require 'securerandom'
require 'fileutils'
agent_target = ENV['TEST_TARGET']
if ! agent_target
STDERR.puts 'TEST_TARGET environment variable is not set'
STDERR.puts 'setting to default value of "redhat-64default."'
agent_target = 'redhat-64default.'
end
master_target = ENV['MASTER_TEST_TARGET']
if ! master_target
STDERR.puts 'MASTER_TEST_TARGET environment variable is not set'
STDERR.puts 'setting to default value of "redhat7-64mdcl"'
master_target = 'redhat7-64mdcl'
end
targets = "#{master_target}-#{agent_target}"
cli = BeakerHostGenerator::CLI.new([targets])
nodeset_dir = "tmp/nodesets"
nodeset = "#{nodeset_dir}/#{targets}-#{SecureRandom.uuid}.yaml"
FileUtils.mkdir_p(nodeset_dir)
File.open(nodeset, 'w') do |fh|
fh.print(cli.execute)
end
puts nodeset
def changelog_user
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = nil || JSON.load(File.read('metadata.json'))['author']
raise "unable to find the changelog_user in .sync.yml, or the author in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator user:#{returnVal}"
returnVal
end
def changelog_project
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = nil || JSON.load(File.read('metadata.json'))['name']
raise "unable to find the changelog_project in .sync.yml or the name in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator project:#{returnVal}"
returnVal
end
def changelog_future_release
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = JSON.load(File.read('metadata.json'))['version']
raise "unable to find the future_release (version) in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator future_release:#{returnVal}"
returnVal
end
PuppetLint.configuration.send('disable_relative')
if Bundler.rubygems.find_name('github_changelog_generator').any?
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
raise "Set CHANGELOG_GITHUB_TOKEN environment variable eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'" if Rake.application.top_level_tasks.include? "changelog" and ENV['CHANGELOG_GITHUB_TOKEN'].nil?
config.user = "#{changelog_user}"
config.project = "#{changelog_project}"
config.future_release = "#{changelog_future_release}"
config.exclude_labels = ['maintenance']
config.header = "# Change log\n\nAll notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org)."
config.add_pr_wo_labels = true
config.issues = false
config.merge_prefix = "### UNCATEGORIZED PRS; GO LABEL THEM"
config.configure_sections = {
"Changed" => {
"prefix" => "### Changed",
"labels" => ["backwards-incompatible"],
},
"Added" => {
"prefix" => "### Added",
"labels" => ["feature", "enhancement"],
},
"Fixed" => {
"prefix" => "### Fixed",
"labels" => ["bugfix"],
},
}
end
else
desc 'Generate a Changelog from GitHub'
task :changelog do
raise <<EOM
The changelog tasks depends on unreleased features of the github_changelog_generator gem.
Please manually add it to your .sync.yml for now, and run `pdk update`:
---
Gemfile:
optional:
':development':
- gem: 'github_changelog_generator'
git: 'https://github.com/skywinder/github-changelog-generator'
ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018'
condition: "Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')"
EOM
end
end

View File

@@ -11,7 +11,7 @@
# Notes:
# None
Facter.add(:java_default_home) do
confine kernel: %w[Linux OpenBSD]
confine kernel: ['Linux', 'OpenBSD']
java_default_home = nil
setcode do
java_bin = Facter::Util::Resolution.which('java').to_s.strip

View File

@@ -11,7 +11,7 @@
# Notes:
# None
Facter.add(:java_libjvm_path) do
confine kernel: %w[Linux OpenBSD]
confine kernel: ['Linux', 'OpenBSD']
setcode do
java_default_home = Facter.value(:java_default_home)
java_libjvm_file = Dir.glob("#{java_default_home}/jre/lib/**/libjvm.so")

View File

@@ -106,8 +106,6 @@ define java::oracle (
# archive module is used to download the java package
include ::archive
ensure_resource('class', 'stdlib')
# validate java Standard Edition to download
if $java_se !~ /(jre|jdk)/ {
fail('Java SE must be either jre or jdk.')

View File

@@ -224,7 +224,7 @@ class java::params {
} elsif (versioncmp($::operatingsystemrelease, '11.4') >= 0) {
$jdk_package = 'java-1_7_1-ibm-devel'
$jre_package = 'java-1_7_1-ibm'
$java_home = '/usr/lib64/jvm/java-1.7.0-ibm-1.7.0/'
$java_home = '/usr/lib64/jvm/java-1.7.1-ibm-1.7.1/'
} else {
$jdk_package = 'java-1_6_0-ibm-devel'
$jre_package = 'java-1_6_0-ibm'

View File

@@ -1,12 +1,22 @@
{
"name": "puppetlabs-java",
"version": "2.3.0",
"version": "3.1.0",
"author": "puppetlabs",
"summary": "Installs the correct Java package on various platforms.",
"license": "Apache-2.0",
"source": "git://github.com/puppetlabs/puppetlabs-java",
"project_page": "https://github.com/puppetlabs/puppetlabs-java",
"issues_url": "https://tickets.puppet.com/CreateIssueDetails!init.jspa?pid=10707&issuetype=1&team=Modules&customfield_14200=14302&labels=triage&customfield_10005=2147&summary=Issue+found+with+module%3A+puppetlabs-java",
"dependencies": [
{
"name": "puppetlabs/stdlib",
"version_requirement": ">= 4.13.1 < 6.0.0"
},
{
"name": "puppet/archive",
"version_requirement": ">= 1.1.0 < 4.0.0"
}
],
"operatingsystem_support": [
{
"operatingsystem": "RedHat",
@@ -34,22 +44,12 @@
{
"operatingsystem": "Scientific",
"operatingsystemrelease": [
"5",
"6"
]
},
{
"operatingsystem": "Fedora",
"operatingsystemrelease": [
"20",
"21",
"22"
]
},
{
"operatingsystem": "Debian",
"operatingsystemrelease": [
"7",
"8",
"9"
]
@@ -58,7 +58,8 @@
"operatingsystem": "Ubuntu",
"operatingsystemrelease": [
"14.04",
"16.04"
"16.04",
"18.04"
]
},
{
@@ -86,14 +87,7 @@
"version_requirement": ">= 4.7.0 < 6.0.0"
}
],
"dependencies": [
{
"name":"puppetlabs/stdlib",
"version_requirement": ">= 4.13.1 < 5.0.0"
},
{
"name":"puppet/archive",
"version_requirement": ">= 1.1.0 < 3.0.0"
}
]
"template-url": "https://github.com/puppetlabs/pdk-templates",
"template-ref": "1.7.0-0-g57412ed",
"pdk-version": "1.7.0"
}

View File

@@ -3,8 +3,7 @@ require 'spec_helper_acceptance'
# RedHat, CentOS, Scientific, Oracle prior to 5.0 : Sun Java JDK/JRE 1.6
# RedHat, CentOS, Scientific, Oracle 5.0 < x < 6.3 : OpenJDK Java JDK/JRE 1.6
# RedHat, CentOS, Scientific, Oracle after 6.3 : OpenJDK Java JDK/JRE 1.7
# Debian 5/6 & Ubuntu 10.04/11.04 : OpenJDK Java JDK/JRE 1.6 or Sun Java JDK/JRE 1.6
# Debian 7/Jesse & Ubuntu 12.04 - 14.04 : OpenJDK Java JDK/JRE 1.7 or Oracle Java JDK/JRE 1.6
# Debian Jesse & Ubuntu 14.04 : OpenJDK Java JDK/JRE 1.7 or Oracle Java JDK/JRE 1.6
# Solaris (what versions?) : Java JDK/JRE 1.7
# OpenSuSE : OpenJDK Java JDK/JRE 1.7
# SLES : IBM Java JDK/JRE 1.6
@@ -33,17 +32,17 @@ java_class_jre = "class { 'java':\n"\
java_class = "class { 'java': }"
sources = "file_line { 'non-free source':\n"\
_sources = "file_line { 'non-free source':\n"\
" path => '/etc/apt/sources.list',\n"\
" match => \"deb http://osmirror.delivery.puppetlabs.net/debian/ ${::lsbdistcodename} main\",\n"\
" line => \"deb http://osmirror.delivery.puppetlabs.net/debian/ ${::lsbdistcodename} main non-free\",\n"\
'}'
sun_jre = "class { 'java':\n"\
_sun_jre = "class { 'java':\n"\
" distribution => 'sun-jre',\n"\
'}'
sun_jdk = "class { 'java':\n"\
_sun_jdk = "class { 'java':\n"\
" distribution => 'sun-jdk',\n"\
'}'
@@ -80,20 +79,9 @@ bogus_alternative = "class { 'java':\n"\
" java_alternative_path => '/whatever',\n"\
'}'
def apply_manifest_wheezy_case(pp)
# With the version of java that ships with pe on debian wheezy, update-alternatives
# throws an error on the first run due to missing alternative for policytool. It still
# updates the alternatives for java
if fact('operatingsystem') == 'Debian' && fact('lsbdistcodename') == 'wheezy'
apply_manifest(pp)
else
apply_manifest(pp, catch_failures: true)
end
end
context 'installing java jre', unless: UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
it 'installs jre' do
apply_manifest_wheezy_case(java_class_jre)
apply_manifest(java_class_jre, catch_failures: true)
apply_manifest(java_class_jre, catch_changes: true)
end
end
@@ -105,34 +93,10 @@ context 'installing java jdk', unless: UNSUPPORTED_PLATFORMS.include?(fact('osfa
end
end
# C14686
context 'sun', if: (fact('operatingsystem') == 'Debian' && fact('operatingsystemrelease').match(%r{(5|6)})) do
before :all do
apply_manifest(sources)
shell('apt-get update')
shell('echo "sun-java6-jdk shared/accepted-sun-dlj-v1-1 select true" | debconf-set-selections')
shell('echo "sun-java6-jre shared/accepted-sun-dlj-v1-1 select true" | debconf-set-selections')
end
describe 'jre' do
it 'installs sun-jre' do
apply_manifest(sun_jre, catch_failures: true)
apply_manifest(sun_jre, catch_changes: true)
end
end
describe 'jdk' do
it 'installs sun-jdk' do
apply_manifest(sun_jdk, catch_failures: true)
apply_manifest(sun_jdk, catch_changes: true)
end
end
end
# C14704
# C14705
# C15006
context 'oracle', if: (
(fact('operatingsystem') == 'Debian') && fact('operatingsystemrelease').match(%r{^7}) ||
(fact('operatingsystem') == 'Ubuntu') && fact('operatingsystemrelease').match(%r{^12\.04}) ||
(fact('operatingsystem') == 'Ubuntu') && fact('operatingsystemrelease').match(%r{^14\.04})
) do
# not supported
@@ -151,7 +115,7 @@ context 'oracle', if: (
end
end
context 'failure cases' do
context 'with failure cases' do
# C14711
# SLES 10 returns an exit code of 0 on zypper failure
unless fact('operatingsystem') == 'SLES' && fact('operatingsystemrelease') < '11'

View File

@@ -1,35 +1,35 @@
require 'spec_helper'
describe 'java', type: :class do
context 'select openjdk for Centos 5.8' do
context 'when select openjdk for Centos 5.8' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '5.8', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.6.0/') }
end
context 'select openjdk for Centos 6.3' do
context 'when select openjdk for Centos 6.3' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '6.3', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0/') }
end
context 'select openjdk for Centos 7.1.1503' do
context 'when select openjdk for Centos 7.1.1503' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '7.1.1503', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0/') }
end
context 'select openjdk for Centos 6.2' do
context 'when select openjdk for Centos 6.2' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '6.2', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
it { is_expected.not_to contain_exec('update-java-alternatives') }
end
context 'select Oracle JRE with alternatives for Centos 6.3' do
context 'when select Oracle JRE with alternatives for Centos 6.3' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '6.3', architecture: 'x86_64' } }
let(:params) { { 'package' => 'jre', 'java_alternative' => '/usr/bin/java', 'java_alternative_path' => '/usr/java/jre1.7.0_67/bin/java' } }
@@ -38,44 +38,7 @@ describe 'java', type: :class do
it { is_expected.to contain_exec('update-java-alternatives').with_command('alternatives --set java /usr/java/jre1.7.0_67/bin/java') }
end
context 'select openjdk for Fedora 20' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '20', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-x86_64/') }
end
context 'select openjdk for Fedora 21' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '21', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-x86_64/') }
end
context 'select passed value for Fedora 20' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '20', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre', 'java_home' => '/usr/local/lib/jre/' } }
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/local/lib/jre/') }
end
context 'select passed value for Fedora 21' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '21', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre', 'java_home' => '/usr/local/lib/jre/' } }
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/local/lib/jre/') }
end
context 'select passed value for Fedora 21 with yum option' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '21', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre', 'package_options' => ['--skip-broken'] } }
it { is_expected.to contain_package('java') }
end
context 'select passed value for Centos 5.3' do
context 'when select passed value for Centos 5.3' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '5.3', architecture: 'x86_64' } }
let(:params) { { 'package' => 'jdk', 'java_home' => '/usr/local/lib/jre' } }
@@ -83,89 +46,14 @@ describe 'java', type: :class do
it { is_expected.not_to contain_exec('update-java-alternatives') }
end
context 'select default for Centos 5.3' do
context 'when select default for Centos 5.3' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '5.3', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
it { is_expected.not_to contain_exec('update-java-alternatives') }
end
context 'select default for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
it { is_expected.to contain_package('java').with_name('openjdk-7-jdk') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-1.7.0-openjdk-amd64 --jre') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/') }
end
context 'select Oracle JRE for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'oracle-jre' } }
it { is_expected.to contain_package('java').with_name('oracle-j2re1.7') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set j2re1.7-oracle --jre') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/j2re1.7-oracle/') }
end
context 'select Oracle Java 8 JRE >=u100 for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'oracle-java8-jre' } }
it { is_expected.to contain_package('java').with_name('oracle-java8-jre') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set jre-8-oracle-x64 --jre') }
end
context 'select Oracle Java 8 JDK >=u100 for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'oracle-java8-jdk' } }
it { is_expected.to contain_package('java').with_name('oracle-java8-jdk') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set jdk-8-oracle-x64 --jre') }
end
context 'select OpenJDK JRE for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'jre' } }
it { is_expected.to contain_package('java').with_name('openjdk-7-jre-headless') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-1.7.0-openjdk-amd64 --jre-headless') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/') }
end
context 'select default for Debian Squeeze' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'squeeze', operatingsystemrelease: '6.0.5', architecture: 'amd64' } }
it { is_expected.to contain_package('java').with_name('openjdk-6-jdk') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-openjdk-amd64 --jre') }
end
context 'select Oracle JRE for Debian Squeeze' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'squeeze', operatingsystemrelease: '6.0.5', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'sun-jre' } }
it { is_expected.to contain_package('java').with_name('sun-java6-jre') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-sun --jre') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-6-sun/jre/') }
end
context 'select OpenJDK JRE for Debian Squeeze' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'squeeze', operatingsystemrelease: '6.0.5', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'jre' } }
it { is_expected.to contain_package('java').with_name('openjdk-6-jre-headless') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-openjdk-amd64 --jre-headless') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-6-openjdk/jre/') }
end
context 'select random alternative for Debian Wheezy' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
let(:params) { { 'java_alternative' => 'bananafish' } }
it { is_expected.to contain_package('java').with_name('openjdk-7-jdk') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set bananafish --jre') }
end
context 'select jdk for Ubuntu Vivid (15.04)' do
context 'when select jdk for Ubuntu Vivid (15.04)' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Ubuntu', lsbdistcodename: 'vivid', operatingsystemrelease: '15.04', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'jdk' } }
@@ -173,7 +61,7 @@ describe 'java', type: :class do
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/') }
end
context 'select jre for Ubuntu Vivid (15.04)' do
context 'when select jre for Ubuntu Vivid (15.04)' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Ubuntu', lsbdistcodename: 'vivid', operatingsystemrelease: '15.04', architecture: 'amd64' } }
let(:params) { { 'distribution' => 'jre' } }
@@ -181,40 +69,40 @@ describe 'java', type: :class do
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/') }
end
context 'select openjdk for Amazon Linux' do
context 'when select openjdk for Amazon Linux' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Amazon', operatingsystemrelease: '3.4.43-43.43.amzn1.x86_64', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-x86_64/') }
end
context 'select passed value for Amazon Linux' do
context 'when select passed value for Amazon Linux' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Amazon', operatingsystemrelease: '5.3.4.43-43.43.amzn1.x86_64', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre' } }
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
end
context 'select openjdk for Oracle Linux' do
context 'when select openjdk for Oracle Linux' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'OracleLinux', operatingsystemrelease: '6.4', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
end
context 'select openjdk for Oracle Linux 6.2' do
context 'when select openjdk for Oracle Linux 6.2' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'OracleLinux', operatingsystemrelease: '6.2', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
end
context 'select passed value for Oracle Linux' do
context 'when select passed value for Oracle Linux' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'OracleLinux', operatingsystemrelease: '6.3', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre' } }
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
end
context 'select passed value for Scientific Linux' do
context 'when select passed value for Scientific Linux' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Scientific', operatingsystemrelease: '6.4', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre' } }
@@ -222,7 +110,7 @@ describe 'java', type: :class do
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0/') }
end
context 'select passed value for Scientific Linux CERN (SLC)' do
context 'when select passed value for Scientific Linux CERN (SLC)' do
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'SLC', operatingsystemrelease: '6.4', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre' } }
@@ -230,49 +118,49 @@ describe 'java', type: :class do
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0/') }
end
context 'select default for OpenSUSE 12.3' do
context 'when select default for OpenSUSE 12.3' do
let(:facts) { { osfamily: 'Suse', operatingsystem: 'OpenSUSE', operatingsystemrelease: '12.3', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1_7_0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/') }
end
context 'select default for SLES 11.3' do
context 'when select default for SLES 11.3' do
let(:facts) { { osfamily: 'Suse', operatingsystem: 'SLES', operatingsystemrelease: '11.3', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1_6_0-ibm-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib64/jvm/java-1.6.0-ibm-1.6.0/') }
end
context 'select default for SLES 11.4' do
context 'when select default for SLES 11.4' do
let(:facts) { { osfamily: 'Suse', operatingsystem: 'SLES', operatingsystemrelease: '11.4', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1_7_1-ibm-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib64/jvm/java-1.7.0-ibm-1.7.0/') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib64/jvm/java-1.7.1-ibm-1.7.1/') }
end
context 'select default for SLES 12.0' do
context 'when select default for SLES 12.0' do
let(:facts) { { osfamily: 'Suse', operatingsystem: 'SLES', operatingsystemrelease: '12.0', operatingsystemmajrelease: '12', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1_7_0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/') }
end
context 'select default for SLES 12.1' do
context 'when select default for SLES 12.1' do
let(:facts) { { osfamily: 'Suse', operatingsystem: 'SLES', operatingsystemrelease: '12.1', operatingsystemmajrelease: '12', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('java-1_8_0-openjdk-devel') }
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/') }
end
context 'select jdk for OpenBSD' do
context 'when select jdk for OpenBSD' do
let(:facts) { { osfamily: 'OpenBSD', architecture: 'x86_64' } }
it { is_expected.to contain_package('java').with_name('jdk') }
it { is_expected.not_to contain_file_line('java-home-environment') }
end
context 'select jre for OpenBSD' do
context 'when select jre for OpenBSD' do
let(:facts) { { osfamily: 'OpenBSD', architecture: 'x86_64' } }
let(:params) { { 'distribution' => 'jre' } }
@@ -282,7 +170,7 @@ describe 'java', type: :class do
describe 'custom java package' do
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'jessie', operatingsystemrelease: '8.6', architecture: 'amd64' } }
context 'all params provided' do
context 'when all params provided' do
let(:params) do
{
'distribution' => 'custom',
@@ -297,7 +185,7 @@ describe 'java', type: :class do
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/opt/custom_jdk') }
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-custom_jdk --jre') }
end
context 'missing parameters' do
context 'with missing parameters' do
let(:params) do
{
'distribution' => 'custom',

8
spec/default_facts.yml Normal file
View File

@@ -0,0 +1,8 @@
# Use default_module_facts.yml for module specific facts.
#
# Facts specified here will override the values provided by rspec-puppet-facts.
---
concat_basedir: "/tmp"
ipaddress: "172.16.254.254"
is_pe: false
macaddress: "AA:AA:AA:AA:AA:AA"

View File

@@ -3,10 +3,10 @@ require 'spec_helper'
oracle_url = 'http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz'
describe 'java::oracle', type: :define do
context 'On CentOS 64-bit' do
context 'with CentOS 64-bit' do
let(:facts) { { kernel: 'Linux', os: { family: 'RedHat', architecture: 'x86_64', name: 'CentOS', release: { full: '6.0' } } } }
context 'Oracle Java SE 6 JDK' do
context 'when Oracle Java SE 6 JDK' do
let(:params) { { ensure: 'present', version: '6', java_se: 'jdk' } }
let(:title) { 'jdk6' }
@@ -15,7 +15,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-x64-rpm.bin]') }
end
context 'Oracle Java SE 7 JDK' do
context 'when Oracle Java SE 7 JDK' do
let(:params) { { ensure: 'present', version: '7', java_se: 'jdk' } }
let(:title) { 'jdk7' }
@@ -24,7 +24,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-x64.rpm]') }
end
context 'Oracle Java SE 8 JDK' do
context 'when Oracle Java SE 8 JDK' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
let(:title) { 'jdk8' }
@@ -33,7 +33,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-x64.rpm]') }
end
context 'Oracle Java SE 6 JRE' do
context 'when Oracle Java SE 6 JRE' do
let(:params) { { ensure: 'present', version: '6', java_se: 'jre' } }
let(:title) { 'jre6' }
@@ -42,7 +42,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-x64-rpm.bin]') }
end
context 'Oracle Java SE 7 JRE' do
context 'when Oracle Java SE 7 JRE' do
let(:params) { { ensure: 'present', version: '7', java_se: 'jre' } }
let(:title) { 'jre7' }
@@ -51,7 +51,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-x64.rpm]') }
end
context 'select Oracle Java SE 8 JRE' do
context 'when select Oracle Java SE 8 JRE' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
let(:title) { 'jre8' }
@@ -60,7 +60,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-x64.rpm]') }
end
context 'Pass URL to url parameter' do
context 'when passing URL to url parameter' do
let(:params) do
{
ensure: 'present',
@@ -79,7 +79,7 @@ describe 'java::oracle', type: :define do
}
end
context 'Pass a hash to url_hash parameter' do
context 'when passing a hash to url_hash parameter' do
let(:params) do
{
ensure: 'present',
@@ -95,10 +95,10 @@ describe 'java::oracle', type: :define do
end
end
context 'On CentOS 32-bit' do
context 'when on CentOS 32-bit' do
let(:facts) { { kernel: 'Linux', os: { family: 'RedHat', architecture: 'i386', name: 'CentOS', release: { full: '6.6' } } } }
context 'select Oracle Java SE 6 JDK on RedHat family, 32-bit' do
context 'when selecting Oracle Java SE 6 JDK on RedHat family, 32-bit' do
let(:params) { { ensure: 'present', version: '6', java_se: 'jdk' } }
let(:title) { 'jdk6' }
@@ -107,7 +107,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-i586-rpm.bin]') }
end
context 'select Oracle Java SE 7 JDK on RedHat family, 32-bit' do
context 'when selecting Oracle Java SE 7 JDK on RedHat family, 32-bit' do
let(:params) { { ensure: 'present', version: '7', java_se: 'jdk' } }
let(:title) { 'jdk7' }
@@ -116,7 +116,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-i586.rpm]') }
end
context 'select Oracle Java SE 8 JDK on RedHat family, 32-bit' do
context 'when selecting Oracle Java SE 8 JDK on RedHat family, 32-bit' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
let(:title) { 'jdk8' }
@@ -125,7 +125,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-i586.rpm]') }
end
context 'select Oracle Java SE 6 JRE on RedHat family, 32-bit' do
context 'when selecting Oracle Java SE 6 JRE on RedHat family, 32-bit' do
let(:params) { { ensure: 'present', version: '6', java_se: 'jre' } }
let(:title) { 'jdk6' }
@@ -134,7 +134,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-i586-rpm.bin]') }
end
context 'select Oracle Java SE 7 JRE on RedHat family, 32-bit' do
context 'when select Oracle Java SE 7 JRE on RedHat family, 32-bit' do
let(:params) { { ensure: 'present', version: '7', java_se: 'jre' } }
let(:title) { 'jdk7' }
@@ -143,7 +143,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-i586.rpm]') }
end
context 'select Oracle Java SE 8 JRE on RedHat family, 32-bit' do
context 'when select Oracle Java SE 8 JRE on RedHat family, 32-bit' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
let(:title) { 'jdk8' }
@@ -153,10 +153,10 @@ describe 'java::oracle', type: :define do
end
end
context 'On Ubuntu 64-bit' do
context 'with Ubuntu 64-bit' do
let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '16.04' } } } }
context 'Oracle Java SE 6 JDK' do
context 'when Oracle Java SE 6 JDK' do
let(:params) { { ensure: 'present', version: '6', java_se: 'jdk' } }
let(:title) { 'jdk6' }
@@ -165,7 +165,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-x64.tar.gz]') }
end
context 'Oracle Java SE 7 JDK' do
context 'with Oracle Java SE 7 JDK' do
let(:params) { { ensure: 'present', version: '7', java_se: 'jdk' } }
let(:title) { 'jdk7' }
@@ -174,7 +174,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-x64.tar.gz]') }
end
context 'Oracle Java SE 8 JDK' do
context 'with Oracle Java SE 8 JDK' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
let(:title) { 'jdk8' }
@@ -183,7 +183,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-x64.tar.gz]') }
end
context 'Oracle Java SE 6 JRE' do
context 'with Oracle Java SE 6 JRE' do
let(:params) { { ensure: 'present', version: '6', java_se: 'jre' } }
let(:title) { 'jre6' }
@@ -192,7 +192,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-x64.tar.gz]') }
end
context 'Oracle Java SE 7 JRE' do
context 'when Oracle Java SE 7 JRE' do
let(:params) { { ensure: 'present', version: '7', java_se: 'jre' } }
let(:title) { 'jre7' }
@@ -201,7 +201,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-x64.tar.gz]') }
end
context 'select Oracle Java SE 8 JRE' do
context 'when Oracle Java SE 8 JRE' do
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
let(:title) { 'jre8' }
@@ -210,7 +210,7 @@ describe 'java::oracle', type: :define do
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-x64.tar.gz]') }
end
context 'Pass URL to url parameter' do
context 'when passing URL to url parameter' do
let(:params) { { ensure: 'present', version_major: '8u131', version_minor: 'b11', java_se: 'jdk', url: oracle_url.to_s } }
let(:title) { 'jdk8' }

View File

@@ -1,9 +1,44 @@
# This file is generated by ModuleSync, do not edit.
require 'puppetlabs_spec_helper/module_spec_helper'
require 'rspec-puppet-facts'
# put local configuration and setup into spec_helper_local
begin
require 'spec_helper_local'
require 'spec_helper_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_local.rb'))
rescue LoadError => loaderror
puts "Could not require spec_helper_local: #{loaderror.message}"
warn "Could not require spec_helper_local: #{loaderror.message}"
end
include RspecPuppetFacts
default_facts = {
puppetversion: Puppet.version,
facterversion: Facter.version,
}
default_facts_path = File.expand_path(File.join(File.dirname(__FILE__), 'default_facts.yml'))
default_module_facts_path = File.expand_path(File.join(File.dirname(__FILE__), 'default_module_facts.yml'))
if File.exist?(default_facts_path) && File.readable?(default_facts_path)
default_facts.merge!(YAML.safe_load(File.read(default_facts_path)))
end
if File.exist?(default_module_facts_path) && File.readable?(default_module_facts_path)
default_facts.merge!(YAML.safe_load(File.read(default_module_facts_path)))
end
RSpec.configure do |c|
c.default_facts = default_facts
c.before :each do
# set to strictest setting for testing
# by default Puppet runs at warning level
Puppet.settings[:strict] = :warning
end
end
def ensure_module_defined(module_name)
module_name.split('::').reduce(Object) do |last_module, next_module|
last_module.const_set(next_module, Module.new) unless last_module.const_defined?(next_module)
last_module.const_get(next_module)
end
end
# 'spec_overrides' from sync.yml will appear below this line

View File

@@ -1,12 +1,15 @@
require 'beaker-pe'
require 'beaker-puppet'
require 'beaker-rspec'
require 'beaker/puppet_install_helper'
require 'beaker/module_install_helper'
run_puppet_install_helper
configure_type_defaults_on(hosts)
install_module_on(hosts)
install_module_dependencies_on(hosts)
UNSUPPORTED_PLATFORMS = %w[Darwin windows].freeze
UNSUPPORTED_PLATFORMS = ['Darwin', 'windows'].freeze
unless ENV['RS_PROVISION'] == 'no' || ENV['BEAKER_provision'] == 'no'
hosts.each do |host|

View File

@@ -26,7 +26,7 @@ describe 'java_default_home' do
Facter.fact(:kernel).stubs(:value).returns('Linux')
end
context 'returns java home path when java found in PATH' do
context 'when java found in PATH' do
context 'when java is in /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java' do
it do
unlink_and_delete('./java_test')
@@ -44,7 +44,7 @@ describe 'java_default_home' do
end
end
context 'returns nil when java not present' do
context 'when java not present, return nil' do
it do
Facter::Util::Resolution.stubs(:exec)
Facter::Util::Resolution.expects(:which).with('java').at_least(1).returns(false)

View File

@@ -9,7 +9,7 @@ describe 'java_libjvm_path' do
Dir.stubs(:glob).with("#{java_default_home}/jre/lib/**/libjvm.so").returns(['/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so'])
end
context 'returns libjvm path on Linux' do
context 'when on Linux, return libjvm path' do
it do
expect(Facter.value(:java_libjvm_path)).to eql '/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server'
end

View File

@@ -5,7 +5,7 @@ describe 'java_major_version' do
Facter.clear
end
context 'returns major version when java_version fact present' do
context 'when java_version fact present, returns major version' do
before :each do
Facter.fact(:java_version).stubs(:value).returns('1.7.0_71')
end
@@ -14,7 +14,7 @@ describe 'java_major_version' do
end
end
context 'returns nil when java not present' do
context 'when java not present, returns nil' do
before :each do
Facter.fact(:java_version).stubs(:value).returns(nil)
end

View File

@@ -5,7 +5,7 @@ describe 'java_patch_level' do
Facter.clear
end
context 'if java is installed returns java patch version extracted from java_version fact' do
context 'when java is installed returns java patch version extracted from java_version fact' do
before :each do
Facter.fact(:java_version).stubs(:value).returns('1.7.0_71')
end
@@ -14,7 +14,7 @@ describe 'java_patch_level' do
end
end
context 'if java is not installed returns nil' do
context 'when java is not installed returns nil' do
before :each do
Facter.fact(:java_version).stubs(:value).returns(nil)
end

View File

@@ -15,7 +15,7 @@ describe 'java_version' do
Facter.clear
end
context 'returns java version when java present' do
context 'when java present, returns java version' do
context 'on OpenBSD', with_env: true do
before(:each) do
Facter.fact(:operatingsystem).stubs(:value).returns('OpenBSD')
@@ -28,7 +28,7 @@ describe 'java_version' do
expect(Facter.value(:java_version)).to eq('1.7.0_71')
end
end
context 'on Darwin' do
context 'when on Darwin' do
before(:each) do
Facter.fact(:operatingsystem).stubs(:value).returns('Darwin')
end
@@ -40,7 +40,7 @@ describe 'java_version' do
expect(Facter.value(:java_version)).to eql '1.7.0_71'
end
end
context 'on other systems' do
context 'when on other systems' do
before(:each) do
Facter.fact(:operatingsystem).stubs(:value).returns('MyOS')
end
@@ -54,7 +54,7 @@ describe 'java_version' do
end
end
context 'returns nil when java not present' do
context 'when java not present, returns nil' do
context 'on OpenBSD', with_env: true do
before(:each) do
Facter.fact(:operatingsystem).stubs(:value).returns('OpenBSD')
@@ -66,7 +66,7 @@ describe 'java_version' do
expect(Facter.value(:java_version)).to be_nil
end
end
context 'on Darwin' do
context 'when on Darwin' do
before(:each) do
Facter.fact(:operatingsystem).stubs(:value).returns('Darwin')
end
@@ -77,7 +77,7 @@ describe 'java_version' do
expect(Facter.value(:java_version)).to be_nil
end
end
context 'on other systems' do
context 'when on other systems' do
before(:each) do
Facter.fact(:operatingsystem).stubs(:value).returns('MyOS')
end