Cleanup ruby code via rubocop
This commit will add code cleanup as corrected and alerted by rubocop. It also adds rules to execute rubocop on Travis.
This commit is contained in:
586
.rubocop.yml
586
.rubocop.yml
@@ -1,508 +1,98 @@
|
|||||||
require: rubocop-rspec
|
---
|
||||||
|
require:
|
||||||
|
- rubocop-rspec
|
||||||
AllCops:
|
AllCops:
|
||||||
TargetRubyVersion: 1.9
|
TargetRubyVersion: '2.1'
|
||||||
Include:
|
Include:
|
||||||
- ./**/*.rb
|
- "./**/*.rb"
|
||||||
Exclude:
|
Exclude:
|
||||||
- vendor/**/*
|
- bin/*
|
||||||
- .vendor/**/*
|
- ".vendor/**/*"
|
||||||
|
- Gemfile
|
||||||
|
- Rakefile
|
||||||
- pkg/**/*
|
- pkg/**/*
|
||||||
- spec/fixtures/**/*
|
- spec/fixtures/**/*
|
||||||
Lint/ConditionPosition:
|
- vendor/**/*
|
||||||
Enabled: True
|
inherit_from: .rubocop_todo.yml
|
||||||
|
|
||||||
Lint/ElseLayout:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/UnreachableCode:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/UselessComparison:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/EnsureReturn:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/HandleExceptions:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/LiteralInCondition:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/ShadowingOuterLocalVariable:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/LiteralInInterpolation:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/HashSyntax:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/RedundantReturn:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/AmbiguousOperator:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/AssignmentInCondition:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceBeforeComment:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/AndOr:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/RedundantSelf:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
# Method length is not necessarily an indicator of code quality
|
|
||||||
Metrics/MethodLength:
|
|
||||||
Enabled: False
|
|
||||||
|
|
||||||
# Module length is not necessarily an indicator of code quality
|
|
||||||
Metrics/ModuleLength:
|
|
||||||
Enabled: False
|
|
||||||
|
|
||||||
Style/WhileUntilModifier:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/AmbiguousRegexpLiteral:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/Eval:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/BlockAlignment:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/DefEndAlignment:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/EndAlignment:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/DeprecatedClassMethods:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/Loop:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/ParenthesesAsGroupedExpression:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/RescueException:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/StringConversionInInterpolation:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/UnusedBlockArgument:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/UnusedMethodArgument:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/UselessAccessModifier:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/UselessAssignment:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/Void:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/AccessModifierIndentation:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/AccessorMethodName:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/Alias:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/AlignArray:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/AlignHash:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/AlignParameters:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Metrics/BlockNesting:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/AsciiComments:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/Attr:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/BracesAroundHashParameters:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/CaseEquality:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/CaseIndentation:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/CharacterLiteral:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/ClassAndModuleCamelCase:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/ClassAndModuleChildren:
|
|
||||||
Enabled: False
|
|
||||||
|
|
||||||
Style/ClassCheck:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
# Class length is not necessarily an indicator of code quality
|
|
||||||
Metrics/ClassLength:
|
|
||||||
Enabled: False
|
|
||||||
|
|
||||||
Style/ClassMethods:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/ClassVars:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/WhenThen:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/WordArray:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/UnneededPercentQ:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/Tab:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceBeforeSemicolon:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/TrailingBlankLines:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceInsideBlockBraces:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceInsideBrackets:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceInsideHashLiteralBraces:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceInsideParens:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/LeadingCommentSpace:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceBeforeFirstArg:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceAfterColon:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceAfterComma:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceAfterMethodName:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceAfterNot:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceAfterSemicolon:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceAroundEqualsInParameterDefault:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceAroundOperators:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceBeforeBlockBraces:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceBeforeComma:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/CollectionMethods:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/CommentIndentation:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/ColonMethodCall:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/CommentAnnotation:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
# 'Complexity' is very relative
|
|
||||||
Metrics/CyclomaticComplexity:
|
|
||||||
Enabled: False
|
|
||||||
|
|
||||||
Style/ConstantName:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/Documentation:
|
|
||||||
Enabled: False
|
|
||||||
|
|
||||||
Style/DefWithParentheses:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/PreferredHashMethods:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/DotPosition:
|
|
||||||
EnforcedStyle: trailing
|
|
||||||
|
|
||||||
Style/DoubleNegation:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/EachWithObject:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/EmptyLineBetweenDefs:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/IndentArray:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/IndentHash:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/IndentationConsistency:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/IndentationWidth:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/EmptyLines:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/EmptyLinesAroundAccessModifier:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/EmptyLiteral:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
# Configuration parameters: AllowURI, URISchemes.
|
|
||||||
Metrics/LineLength:
|
Metrics/LineLength:
|
||||||
Enabled: False
|
Description: People have wide screens, use them.
|
||||||
|
Max: 200
|
||||||
Style/MethodCallParentheses:
|
RSpec/BeforeAfterAll:
|
||||||
Enabled: True
|
Description: Beware of using after(:all) as it may cause state to leak between tests.
|
||||||
|
A necessary evil in acceptance testing.
|
||||||
Style/MethodDefParentheses:
|
Exclude:
|
||||||
Enabled: True
|
- spec/acceptance/**/*.rb
|
||||||
|
RSpec/HookArgument:
|
||||||
Style/LineEndConcatenation:
|
Description: Prefer explicit :each argument, matching existing module's style
|
||||||
Enabled: True
|
EnforcedStyle: each
|
||||||
|
|
||||||
Style/TrailingWhitespace:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/StringLiterals:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/TrailingCommaInArguments:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/TrailingCommaInLiteral:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/GlobalVars:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/GuardClause:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/IfUnlessModifier:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/MultilineIfThen:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/NegatedIf:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/NegatedWhile:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/Next:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SingleLineBlockParams:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SingleLineMethods:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpecialGlobalVars:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/TrivialAccessors:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/UnlessElse:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/VariableInterpolation:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/VariableName:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/WhileUntilDo:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/EvenOdd:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/FileName:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/For:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/Lambda:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/MethodName:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/MultilineTernaryOperator:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/NestedTernaryOperator:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/NilComparison:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/FormatString:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/MultilineBlockChain:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/Semicolon:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SignalException:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/NonNilCheck:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/Not:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/NumericLiterals:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/OneLineConditional:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/OpMethod:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/ParenthesesAroundCondition:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/PercentLiteralDelimiters:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/PerlBackrefs:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/PredicateName:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/RedundantException:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SelfAssignment:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/Proc:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/RaiseArgs:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/RedundantBegin:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/RescueModifier:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
# based on https://github.com/voxpupuli/modulesync_config/issues/168
|
|
||||||
Style/RegexpLiteral:
|
|
||||||
EnforcedStyle: percent_r
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/UnderscorePrefixedVariableName:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Metrics/ParameterLists:
|
|
||||||
Enabled: False
|
|
||||||
|
|
||||||
Lint/RequireParentheses:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/SpaceBeforeFirstArg:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/ModuleFunction:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Lint/Debugger:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/IfWithSemicolon:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/Encoding:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/BlockDelimiters:
|
Style/BlockDelimiters:
|
||||||
Enabled: True
|
Description: Prefer braces for chaining. Mostly an aesthetical choice. Better to
|
||||||
|
be consistent then.
|
||||||
Style/MultilineBlockLayout:
|
EnforcedStyle: braces_for_chaining
|
||||||
Enabled: True
|
Style/ClassAndModuleChildren:
|
||||||
|
Description: Compact style reduces the required amount of indentation.
|
||||||
# 'Complexity' is very relative
|
EnforcedStyle: compact
|
||||||
|
Style/EmptyElse:
|
||||||
|
Description: Enforce against empty else clauses, but allow `nil` for clarity.
|
||||||
|
EnforcedStyle: empty
|
||||||
|
Style/FormatString:
|
||||||
|
Description: Following the main puppet project's style, prefer the % format format.
|
||||||
|
EnforcedStyle: percent
|
||||||
|
Style/FormatStringToken:
|
||||||
|
Description: Following the main puppet project's style, prefer the simpler template
|
||||||
|
tokens over annotated ones.
|
||||||
|
EnforcedStyle: template
|
||||||
|
Style/Lambda:
|
||||||
|
Description: Prefer the keyword for easier discoverability.
|
||||||
|
EnforcedStyle: literal
|
||||||
|
Style/RegexpLiteral:
|
||||||
|
Description: Community preference. See https://github.com/voxpupuli/modulesync_config/issues/168
|
||||||
|
EnforcedStyle: percent_r
|
||||||
|
Style/TernaryParentheses:
|
||||||
|
Description: Checks for use of parentheses around ternary conditions. Enforce parentheses
|
||||||
|
on complex expressions for better readability, but seriously consider breaking
|
||||||
|
it up.
|
||||||
|
EnforcedStyle: require_parentheses_when_complex
|
||||||
|
Style/TrailingCommaInArguments:
|
||||||
|
Description: Prefer always trailing comma on multiline argument lists. This makes
|
||||||
|
diffs, and re-ordering nicer.
|
||||||
|
EnforcedStyleForMultiline: comma
|
||||||
|
Style/TrailingCommaInLiteral:
|
||||||
|
Description: Prefer always trailing comma on multiline literals. This makes diffs,
|
||||||
|
and re-ordering nicer.
|
||||||
|
EnforcedStyleForMultiline: comma
|
||||||
|
Style/SymbolArray:
|
||||||
|
Description: Using percent style obscures symbolic intent of array's contents.
|
||||||
|
EnforcedStyle: brackets
|
||||||
|
Style/CollectionMethods:
|
||||||
|
Enabled: true
|
||||||
|
Style/MethodCalledOnDoEndBlock:
|
||||||
|
Enabled: true
|
||||||
|
Style/StringMethods:
|
||||||
|
Enabled: true
|
||||||
Metrics/AbcSize:
|
Metrics/AbcSize:
|
||||||
Enabled: False
|
Enabled: false
|
||||||
|
Metrics/BlockLength:
|
||||||
# 'Complexity' is very relative
|
Enabled: false
|
||||||
|
Metrics/ClassLength:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/CyclomaticComplexity:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/MethodLength:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/ModuleLength:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/ParameterLists:
|
||||||
|
Enabled: false
|
||||||
Metrics/PerceivedComplexity:
|
Metrics/PerceivedComplexity:
|
||||||
Enabled: False
|
Enabled: false
|
||||||
|
|
||||||
Lint/UselessAssignment:
|
|
||||||
Enabled: True
|
|
||||||
|
|
||||||
Style/ClosingParenthesisIndentation:
|
|
||||||
Enabled: False
|
|
||||||
|
|
||||||
# RSpec
|
|
||||||
|
|
||||||
# We don't use rspec in this way
|
|
||||||
RSpec/DescribeClass:
|
RSpec/DescribeClass:
|
||||||
Enabled: False
|
Enabled: false
|
||||||
|
RSpec/MessageExpectation:
|
||||||
# Example length is not necessarily an indicator of code quality
|
Enabled: false
|
||||||
RSpec/ExampleLength:
|
Style/AsciiComments:
|
||||||
Enabled: False
|
Enabled: false
|
||||||
|
Style/IfUnlessModifier:
|
||||||
RSpec/NamedSubject:
|
Enabled: false
|
||||||
Enabled: False
|
Style/SymbolProc:
|
||||||
|
Enabled: false
|
||||||
|
|||||||
0
.rubocop_todo.yml
Normal file
0
.rubocop_todo.yml
Normal file
@@ -3,3 +3,6 @@ appveyor.yml:
|
|||||||
delete: true
|
delete: true
|
||||||
spec/spec_helper.rb:
|
spec/spec_helper.rb:
|
||||||
allow_deprecations: true
|
allow_deprecations: true
|
||||||
|
extras:
|
||||||
|
- rvm: 2.1.9
|
||||||
|
script: bundle exec rake rubocop
|
||||||
@@ -28,5 +28,7 @@ matrix:
|
|||||||
- rvm: 2.1.9
|
- rvm: 2.1.9
|
||||||
bundler_args: --without system_tests
|
bundler_args: --without system_tests
|
||||||
env: PUPPET_GEM_VERSION="~> 4.0"
|
env: PUPPET_GEM_VERSION="~> 4.0"
|
||||||
|
- rvm: 2.1.9
|
||||||
|
script: bundle exec rake rubocop
|
||||||
notifications:
|
notifications:
|
||||||
email: false
|
email: false
|
||||||
|
|||||||
@@ -11,18 +11,20 @@
|
|||||||
# Notes:
|
# Notes:
|
||||||
# None
|
# None
|
||||||
Facter.add(:java_default_home) do
|
Facter.add(:java_default_home) do
|
||||||
confine :kernel => [ 'Linux', 'OpenBSD' ]
|
confine kernel: %w[Linux OpenBSD]
|
||||||
|
java_default_home = nil
|
||||||
setcode do
|
setcode do
|
||||||
java_bin = Facter::Util::Resolution.which('java').to_s.strip
|
java_bin = Facter::Util::Resolution.which('java').to_s.strip
|
||||||
if java_bin.empty?
|
if java_bin.empty?
|
||||||
nil
|
nil
|
||||||
else
|
else
|
||||||
java_path = File.realpath(java_bin)
|
java_path = File.realpath(java_bin)
|
||||||
if java_path =~ %r(/jre/)
|
java_default_home = if java_path =~ %r{/jre/}
|
||||||
java_default_home = File.dirname(File.dirname(File.dirname(java_path)))
|
File.dirname(File.dirname(File.dirname(java_path)))
|
||||||
else
|
else
|
||||||
java_default_home = File.dirname(File.dirname(java_path))
|
File.dirname(File.dirname(java_path))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
java_default_home
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# Notes:
|
# Notes:
|
||||||
# None
|
# None
|
||||||
Facter.add(:java_libjvm_path) do
|
Facter.add(:java_libjvm_path) do
|
||||||
confine :kernel => [ "Linux", "OpenBSD" ]
|
confine kernel: %w[Linux OpenBSD]
|
||||||
setcode do
|
setcode do
|
||||||
java_default_home = Facter.value(:java_default_home)
|
java_default_home = Facter.value(:java_default_home)
|
||||||
java_libjvm_file = Dir.glob("#{java_default_home}/jre/lib/**/libjvm.so")
|
java_libjvm_file = Dir.glob("#{java_default_home}/jre/lib/**/libjvm.so")
|
||||||
@@ -22,4 +22,3 @@ Facter.add(:java_libjvm_path) do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,10 @@
|
|||||||
# Notes:
|
# Notes:
|
||||||
# None
|
# None
|
||||||
Facter.add(:java_major_version) do
|
Facter.add(:java_major_version) do
|
||||||
|
java_major_version = nil
|
||||||
setcode do
|
setcode do
|
||||||
java_version = Facter.value(:java_version)
|
java_version = Facter.value(:java_version)
|
||||||
java_patch_level = java_version.strip.split('_')[0].split('.')[1] unless java_version.nil?
|
java_major_version = java_version.strip.split('_')[0].split('.')[1] unless java_version.nil?
|
||||||
end
|
end
|
||||||
|
java_major_version
|
||||||
end
|
end
|
||||||
@@ -11,8 +11,10 @@
|
|||||||
# Notes:
|
# Notes:
|
||||||
# None
|
# None
|
||||||
Facter.add(:java_patch_level) do
|
Facter.add(:java_patch_level) do
|
||||||
|
java_patch_level = nil
|
||||||
setcode do
|
setcode do
|
||||||
java_version = Facter.value(:java_version)
|
java_version = Facter.value(:java_version)
|
||||||
java_patch_level = java_version.strip.split('_')[1] unless java_version.nil?
|
java_patch_level = java_version.strip.split('_')[1] unless java_version.nil?
|
||||||
end
|
end
|
||||||
|
java_patch_level
|
||||||
end
|
end
|
||||||
@@ -24,7 +24,7 @@ Facter.add(:java_version) do
|
|||||||
unless ['darwin'].include? Facter.value(:operatingsystem).downcase
|
unless ['darwin'].include? Facter.value(:operatingsystem).downcase
|
||||||
version = nil
|
version = nil
|
||||||
if Facter::Util::Resolution.which('java')
|
if Facter::Util::Resolution.which('java')
|
||||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = $~[1] if /^.+ version \"(.+)\"$/ =~ line }
|
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = $LAST_MATCH_INFO[1] if %r{^.+ version \"(.+)\"$} =~ line }
|
||||||
end
|
end
|
||||||
version
|
version
|
||||||
end
|
end
|
||||||
@@ -32,12 +32,12 @@ Facter.add(:java_version) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
Facter.add(:java_version) do
|
Facter.add(:java_version) do
|
||||||
confine :operatingsystem => 'Darwin'
|
confine operatingsystem: 'Darwin'
|
||||||
has_weight 100
|
has_weight 100
|
||||||
setcode do
|
setcode do
|
||||||
unless /Unable to find any JVMs matching version/ =~ Facter::Util::Resolution.exec('/usr/libexec/java_home --failfast 2>&1')
|
unless %r{Unable to find any JVMs matching version} =~ Facter::Util::Resolution.exec('/usr/libexec/java_home --failfast 2>&1')
|
||||||
version = nil
|
version = nil
|
||||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = $~[1] if /^.+ version \"(.+)\"$/ =~ line }
|
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = $LAST_MATCH_INFO[1] if %r{^.+ version \"(.+)\"$} =~ line }
|
||||||
version
|
version
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -26,74 +26,103 @@ require 'spec_helper_acceptance'
|
|||||||
# C14723 Where is oracle linux 5?
|
# C14723 Where is oracle linux 5?
|
||||||
# C14724 Where is oracle linux 5?
|
# C14724 Where is oracle linux 5?
|
||||||
# C14771 Where is redhat 7? Centos 7?
|
# C14771 Where is redhat 7? Centos 7?
|
||||||
describe "installing java", :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
|
|
||||||
describe "jre" do
|
|
||||||
it 'should install jre' do
|
|
||||||
pp = <<-EOS
|
|
||||||
class { 'java':
|
|
||||||
distribution => 'jre',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
|
java_class_jre = "class { 'java':\n"\
|
||||||
|
" distribution => 'jre',\n"\
|
||||||
|
'}'
|
||||||
|
|
||||||
|
java_class = "class { 'java': }"
|
||||||
|
|
||||||
|
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"\
|
||||||
|
" distribution => 'sun-jre',\n"\
|
||||||
|
'}'
|
||||||
|
|
||||||
|
sun_jdk = "class { 'java':\n"\
|
||||||
|
" distribution => 'sun-jdk',\n"\
|
||||||
|
'}'
|
||||||
|
|
||||||
|
oracle_jre = "class { 'java':\n"\
|
||||||
|
" distribution => 'oracle-jre',\n"\
|
||||||
|
'}'
|
||||||
|
|
||||||
|
oracle_jdk = "class { 'java':\n"\
|
||||||
|
" distribution => 'oracle-jdk',\n"\
|
||||||
|
'}'
|
||||||
|
|
||||||
|
incorrect_version = "class { 'java':\n"\
|
||||||
|
" version => '14.5',\n"\
|
||||||
|
'}'
|
||||||
|
|
||||||
|
blank_version = "class { 'java':\n"\
|
||||||
|
" version => '',\n"\
|
||||||
|
'}'
|
||||||
|
|
||||||
|
incorrect_distro = "class { 'java':\n"\
|
||||||
|
" distribution => 'xyz',\n"\
|
||||||
|
'}'
|
||||||
|
|
||||||
|
blank_distro = "class { 'java':\n"\
|
||||||
|
" distribution => '',\n"\
|
||||||
|
'}'
|
||||||
|
|
||||||
|
incorrect_package = "class { 'java':\n"\
|
||||||
|
" package => 'xyz',\n"\
|
||||||
|
'}'
|
||||||
|
|
||||||
|
bogus_alternative = "class { 'java':\n"\
|
||||||
|
" java_alternative => 'whatever',\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
|
# 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
|
# throws an error on the first run due to missing alternative for policytool. It still
|
||||||
# updates the alternatives for java
|
# updates the alternatives for java
|
||||||
if fact('operatingsystem') == 'Debian' and fact('lsbdistcodename') == 'wheezy'
|
if fact('operatingsystem') == 'Debian' && fact('lsbdistcodename') == 'wheezy'
|
||||||
apply_manifest(pp)
|
apply_manifest(pp)
|
||||||
else
|
else
|
||||||
apply_manifest(pp, :catch_failures => true)
|
apply_manifest(pp, catch_failures: true)
|
||||||
end
|
|
||||||
apply_manifest(pp, :catch_changes => true)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
describe "jdk" do
|
|
||||||
it 'should install jdk' do
|
|
||||||
pp = <<-EOS
|
|
||||||
class { 'java': }
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :catch_failures => true)
|
context 'installing java jre', unless: UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
|
||||||
apply_manifest(pp, :catch_changes => true)
|
it 'installs jre' do
|
||||||
|
apply_manifest_wheezy_case(java_class_jre)
|
||||||
|
apply_manifest(java_class_jre, catch_changes: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'installing java jdk', unless: UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
|
||||||
|
it 'installs jdk' do
|
||||||
|
apply_manifest(java_class, catch_failures: true)
|
||||||
|
apply_manifest(java_class, catch_changes: true)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# C14686
|
# C14686
|
||||||
describe 'sun', :if => (fact('operatingsystem') == 'Debian' and fact('operatingsystemrelease').match(/(5|6)/)) do
|
context 'sun', if: (fact('operatingsystem') == 'Debian' && fact('operatingsystemrelease').match(%r{(5|6)})) do
|
||||||
before :all do
|
before :all do
|
||||||
pp = <<-EOS
|
apply_manifest(sources)
|
||||||
file_line { 'non-free source':
|
|
||||||
path => '/etc/apt/sources.list',
|
|
||||||
match => "deb http://osmirror.delivery.puppetlabs.net/debian/ ${::lsbdistcodename} main",
|
|
||||||
line => "deb http://osmirror.delivery.puppetlabs.net/debian/ ${::lsbdistcodename} main non-free",
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
apply_manifest(pp)
|
|
||||||
shell('apt-get update')
|
shell('apt-get update')
|
||||||
shell('echo "sun-java6-jdk shared/accepted-sun-dlj-v1-1 select true" | debconf-set-selections')
|
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')
|
shell('echo "sun-java6-jre shared/accepted-sun-dlj-v1-1 select true" | debconf-set-selections')
|
||||||
end
|
end
|
||||||
describe 'jre' do
|
describe 'jre' do
|
||||||
it 'should install sun-jre' do
|
it 'installs sun-jre' do
|
||||||
pp = <<-EOS
|
apply_manifest(sun_jre, catch_failures: true)
|
||||||
class { 'java':
|
apply_manifest(sun_jre, catch_changes: true)
|
||||||
distribution => 'sun-jre',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :catch_failures => true)
|
|
||||||
apply_manifest(pp, :catch_changes => true)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
describe 'jdk' do
|
describe 'jdk' do
|
||||||
it 'should install sun-jdk' do
|
it 'installs sun-jdk' do
|
||||||
pp = <<-EOS
|
apply_manifest(sun_jdk, catch_failures: true)
|
||||||
class { 'java':
|
apply_manifest(sun_jdk, catch_changes: true)
|
||||||
distribution => 'sun-jdk',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :catch_failures => true)
|
|
||||||
apply_manifest(pp, :catch_changes => true)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -101,122 +130,64 @@ end
|
|||||||
# C14704
|
# C14704
|
||||||
# C14705
|
# C14705
|
||||||
# C15006
|
# C15006
|
||||||
describe 'oracle', :if => (
|
context 'oracle', if: (
|
||||||
(fact('operatingsystem') == 'Debian') and (fact('operatingsystemrelease').match(/^7/)) or
|
(fact('operatingsystem') == 'Debian') && fact('operatingsystemrelease').match(%r{^7}) ||
|
||||||
(fact('operatingsystem') == 'Ubuntu') and (fact('operatingsystemrelease').match(/^12\.04/)) or
|
(fact('operatingsystem') == 'Ubuntu') && fact('operatingsystemrelease').match(%r{^12\.04}) ||
|
||||||
(fact('operatingsystem') == 'Ubuntu') and (fact('operatingsystemrelease').match(/^14\.04/))
|
(fact('operatingsystem') == 'Ubuntu') && fact('operatingsystemrelease').match(%r{^14\.04})
|
||||||
) do
|
) do
|
||||||
# not supported
|
# not supported
|
||||||
# The package is not available from any sources, but if a customer
|
# The package is not available from any sources, but if a customer
|
||||||
# custom-builds the package using java-package and adds it to a local
|
# custom-builds the package using java-package and adds it to a local
|
||||||
# repository, that is the intention of this version ability
|
# repository, that is the intention of this version ability
|
||||||
describe 'jre' do
|
describe 'jre' do
|
||||||
it 'should install oracle-jre' do
|
it 'installs oracle-jre' do
|
||||||
pp = <<-EOS
|
apply_manifest(oracle_jre, expect_failures: true)
|
||||||
class { 'java':
|
|
||||||
distribution => 'oracle-jre',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :expect_failures => true)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
describe 'jdk' do
|
describe 'jdk' do
|
||||||
it 'should install oracle-jdk' do
|
it 'installs oracle-jdk' do
|
||||||
pp = <<-EOS
|
apply_manifest(oracle_jdk, expect_failures: true)
|
||||||
class { 'java':
|
|
||||||
distribution => 'oracle-jdk',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :expect_failures => true)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'failure cases' do
|
context 'failure cases' do
|
||||||
# C14711
|
# C14711
|
||||||
# SLES 10 returns an exit code of 0 on zypper failure
|
# SLES 10 returns an exit code of 0 on zypper failure
|
||||||
unless fact('operatingsystem') == 'SLES' and fact('operatingsystemrelease') < '11'
|
unless fact('operatingsystem') == 'SLES' && fact('operatingsystemrelease') < '11'
|
||||||
it 'should fail to install java with an incorrect version' do
|
it 'fails to install java with an incorrect version' do
|
||||||
pp = <<-EOS
|
apply_manifest(incorrect_version, expect_failures: true)
|
||||||
class { 'java':
|
|
||||||
version => '14.5',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :expect_failures => true)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# C14712
|
# C14712
|
||||||
it 'should fail to install java with a blank version' do
|
it 'fails to install java with a blank version' do
|
||||||
pp = <<-EOS
|
apply_manifest(blank_version, expect_failures: true)
|
||||||
class { 'java':
|
|
||||||
version => '',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :expect_failures => true)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# C14713
|
# C14713
|
||||||
it 'should fail to install java with an incorrect distribution' do
|
it 'fails to install java with an incorrect distribution' do
|
||||||
pp = <<-EOS
|
apply_manifest(incorrect_distro, expect_failures: true)
|
||||||
class { 'java':
|
|
||||||
distribution => 'xyz',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :expect_failures => true)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# C14714
|
# C14714
|
||||||
it 'should fail to install java with a blank distribution' do
|
it 'fails to install java with a blank distribution' do
|
||||||
pp = <<-EOS
|
apply_manifest(blank_distro, expect_failures: true)
|
||||||
class { 'java':
|
|
||||||
distribution => '',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :expect_failures => true)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# C14715
|
# C14715
|
||||||
it 'should fail to install java with an incorrect package' do
|
it 'fails to install java with an incorrect package' do
|
||||||
pp = <<-EOS
|
apply_manifest(incorrect_package, expect_failures: true)
|
||||||
class { 'java':
|
|
||||||
package => 'xyz',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :expect_failures => true)
|
|
||||||
end
|
end
|
||||||
# C14715
|
|
||||||
it 'should fail to install java with an incorrect package' do
|
|
||||||
pp = <<-EOS
|
|
||||||
class { 'java':
|
|
||||||
package => 'xyz',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :expect_failures => true)
|
|
||||||
end
|
|
||||||
# C14717
|
# C14717
|
||||||
# C14719
|
# C14719
|
||||||
# C14725
|
# C14725
|
||||||
it 'should fail on debian or RHEL when passed fake java_alternative and path' do
|
it 'fails on debian or RHEL when passed fake java_alternative and path' do
|
||||||
pp = <<-EOS
|
if fact('osfamily') == 'Debian' || fact('osfamily') == 'RedHat'
|
||||||
class { 'java':
|
apply_manifest(bogus_alternative, expect_failures: true)
|
||||||
java_alternative => 'whatever',
|
|
||||||
java_alternative_path => '/whatever',
|
|
||||||
}
|
|
||||||
EOS
|
|
||||||
|
|
||||||
if fact('osfamily') == 'Debian' or fact('osfamily') == 'RedHat'
|
|
||||||
apply_manifest(pp, :expect_failures => true)
|
|
||||||
else
|
else
|
||||||
apply_manifest(pp, :catch_failures => true)
|
apply_manifest(bogus_alternative, catch_failures: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,314 +1,353 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'java', :type => :class do
|
describe 'java', type: :class do
|
||||||
|
|
||||||
context 'select openjdk for Centos 5.8' do
|
context 'select openjdk for Centos 5.8' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.8', :architecture => 'x86_64'} }
|
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_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/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.6.0/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Centos 6.3' do
|
context 'select openjdk for Centos 6.3' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.3', :architecture => 'x86_64'} }
|
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_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/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Centos 7.1.1503' do
|
context 'select openjdk for Centos 7.1.1503' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '7.1.1503', :architecture => 'x86_64'} }
|
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_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/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Centos 6.2' do
|
context 'select openjdk for Centos 6.2' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.2', :architecture => 'x86_64'} }
|
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.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
||||||
it { is_expected.to_not contain_exec('update-java-alternatives') }
|
it { is_expected.not_to contain_exec('update-java-alternatives') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle JRE with alternatives for Centos 6.3' do
|
context 'select Oracle JRE with alternatives for Centos 6.3' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.3', :architecture => 'x86_64'} }
|
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' } }
|
let(:params) { { 'package' => 'jre', 'java_alternative' => '/usr/bin/java', 'java_alternative_path' => '/usr/java/jre1.7.0_67/bin/java' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('jre') }
|
it { is_expected.to contain_package('java').with_name('jre') }
|
||||||
it { is_expected.to contain_exec('create-java-alternatives').with_command('alternatives --install /usr/bin/java java /usr/java/jre1.7.0_67/bin/java 20000') }
|
it { is_expected.to contain_exec('create-java-alternatives').with_command('alternatives --install /usr/bin/java java /usr/java/jre1.7.0_67/bin/java 20000') }
|
||||||
it { is_expected.to contain_exec('update-java-alternatives').with_command('alternatives --set java /usr/java/jre1.7.0_67/bin/java') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('alternatives --set java /usr/java/jre1.7.0_67/bin/java') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Fedora 20' do
|
context 'select openjdk for Fedora 20' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '20', :architecture => 'x86_64'} }
|
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_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/') }
|
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
|
end
|
||||||
|
|
||||||
context 'select openjdk for Fedora 21' do
|
context 'select openjdk for Fedora 21' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21', :architecture => 'x86_64'} }
|
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_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/') }
|
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
|
end
|
||||||
|
|
||||||
context 'select passed value for Fedora 20' do
|
context 'select passed value for Fedora 20' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '20', :architecture => 'x86_64'} }
|
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '20', architecture: 'x86_64' } }
|
||||||
let(:params) { { 'distribution' => 'jre', 'java_home' => '/usr/local/lib/jre/' } }
|
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_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/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/local/lib/jre/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Fedora 21' do
|
context 'select passed value for Fedora 21' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21', :architecture => 'x86_64'} }
|
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '21', architecture: 'x86_64' } }
|
||||||
let(:params) { { 'distribution' => 'jre', 'java_home' => '/usr/local/lib/jre/' } }
|
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_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/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/local/lib/jre/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Fedora 21 with yum option' do
|
context 'select passed value for Fedora 21 with yum option' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21', :architecture => 'x86_64'} }
|
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Fedora', operatingsystemrelease: '21', architecture: 'x86_64' } }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre', 'package_options' => ['--skip-broken'] } }
|
||||||
let(:params) { { 'package_options' => ['--skip-broken'] } }
|
|
||||||
it { is_expected.to contain_package('java') }
|
it { is_expected.to contain_package('java') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Centos 5.3' do
|
context 'select passed value for Centos 5.3' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.3', :architecture => 'x86_64'} }
|
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '5.3', architecture: 'x86_64' } }
|
||||||
let(:params) { { 'package' => 'jdk', 'java_home' => '/usr/local/lib/jre' } }
|
let(:params) { { 'package' => 'jdk', 'java_home' => '/usr/local/lib/jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('jdk') }
|
it { is_expected.to contain_package('java').with_name('jdk') }
|
||||||
it { is_expected.to_not contain_exec('update-java-alternatives') }
|
it { is_expected.not_to contain_exec('update-java-alternatives') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for Centos 5.3' do
|
context 'select default for Centos 5.3' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.3', :architecture => 'x86_64'} }
|
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.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
||||||
it { is_expected.to_not contain_exec('update-java-alternatives') }
|
it { is_expected.not_to contain_exec('update-java-alternatives') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for Debian Wheezy' do
|
context 'select default for Debian Wheezy' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'wheezy', :operatingsystemrelease => '7.1', :architecture => 'amd64',} }
|
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_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_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/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle JRE for Debian Wheezy' do
|
context 'select Oracle JRE for Debian Wheezy' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'wheezy', :operatingsystemrelease => '7.1', :architecture => 'amd64',} }
|
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
|
||||||
let(:params) { { 'distribution' => 'oracle-jre' } }
|
let(:params) { { 'distribution' => 'oracle-jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('oracle-j2re1.7') }
|
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_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/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/j2re1.7-oracle/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java 8 JRE >=u100 for Debian Wheezy' do
|
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(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
|
||||||
let(:params) { { 'distribution' => 'oracle-java8-jre' } }
|
let(:params) { { 'distribution' => 'oracle-java8-jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('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') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set jre-8-oracle-x64 --jre') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java 8 JDK >=u100 for Debian Wheezy' do
|
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(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
|
||||||
let(:params) { { 'distribution' => 'oracle-java8-jdk' } }
|
let(:params) { { 'distribution' => 'oracle-java8-jdk' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('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') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set jdk-8-oracle-x64 --jre') }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
context 'select OpenJDK JRE for Debian Wheezy' do
|
context 'select OpenJDK JRE for Debian Wheezy' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'wheezy', :operatingsystemrelease => '7.1', :architecture => 'amd64',} }
|
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('openjdk-7-jre-headless') }
|
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_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/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for Debian Squeeze' do
|
context 'select default for Debian Squeeze' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'squeeze', :operatingsystemrelease => '6.0.5', :architecture => 'amd64',} }
|
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_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') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-openjdk-amd64 --jre') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle JRE for Debian Squeeze' do
|
context 'select Oracle JRE for Debian Squeeze' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'squeeze', :operatingsystemrelease => '6.0.5', :architecture => 'amd64',} }
|
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'squeeze', operatingsystemrelease: '6.0.5', architecture: 'amd64' } }
|
||||||
let(:params) { { 'distribution' => 'sun-jre', } }
|
let(:params) { { 'distribution' => 'sun-jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('sun-java6-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_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/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-6-sun/jre/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select OpenJDK JRE for Debian Squeeze' do
|
context 'select OpenJDK JRE for Debian Squeeze' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'squeeze', :operatingsystemrelease => '6.0.5', :architecture => 'amd64',} }
|
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'squeeze', operatingsystemrelease: '6.0.5', architecture: 'amd64' } }
|
||||||
let(:params) { { 'distribution' => 'jre', } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('openjdk-6-jre-headless') }
|
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_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/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-6-openjdk/jre/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select random alternative for Debian Wheezy' do
|
context 'select random alternative for Debian Wheezy' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'wheezy', :operatingsystemrelease => '7.1', :architecture => 'amd64',} }
|
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'wheezy', operatingsystemrelease: '7.1', architecture: 'amd64' } }
|
||||||
let(:params) { { 'java_alternative' => 'bananafish' } }
|
let(:params) { { 'java_alternative' => 'bananafish' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('openjdk-7-jdk') }
|
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') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set bananafish --jre') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select jdk for Ubuntu Vivid (15.04)' do
|
context 'select jdk for Ubuntu Vivid (15.04)' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Ubuntu', :lsbdistcodename => 'vivid', :operatingsystemrelease => '15.04', :architecture => 'amd64',} }
|
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Ubuntu', lsbdistcodename: 'vivid', operatingsystemrelease: '15.04', architecture: 'amd64' } }
|
||||||
let(:params) { { 'distribution' => 'jdk' } }
|
let(:params) { { 'distribution' => 'jdk' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('openjdk-8-jdk') }
|
it { is_expected.to contain_package('java').with_name('openjdk-8-jdk') }
|
||||||
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select jre for Ubuntu Vivid (15.04)' do
|
context 'select jre for Ubuntu Vivid (15.04)' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Ubuntu', :lsbdistcodename => 'vivid', :operatingsystemrelease => '15.04', :architecture => 'amd64',} }
|
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Ubuntu', lsbdistcodename: 'vivid', operatingsystemrelease: '15.04', architecture: 'amd64' } }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('openjdk-8-jre-headless') }
|
it { is_expected.to contain_package('java').with_name('openjdk-8-jre-headless') }
|
||||||
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Amazon Linux' do
|
context 'select openjdk for Amazon Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Amazon', :operatingsystemrelease => '3.4.43-43.43.amzn1.x86_64', :architecture => 'x86_64'} }
|
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_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/') }
|
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
|
end
|
||||||
|
|
||||||
context 'select passed value for Amazon Linux' do
|
context '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(:facts) { { osfamily: 'RedHat', operatingsystem: 'Amazon', operatingsystemrelease: '5.3.4.43-43.43.amzn1.x86_64', architecture: 'x86_64' } }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Oracle Linux' do
|
context 'select openjdk for Oracle Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'OracleLinux', :operatingsystemrelease => '6.4', :architecture => 'x86_64'} }
|
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') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Oracle Linux 6.2' do
|
context 'select openjdk for Oracle Linux 6.2' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'OracleLinux', :operatingsystemrelease => '6.2', :architecture => 'x86_64'} }
|
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') }
|
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Oracle Linux' do
|
context 'select passed value for Oracle Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'OracleLinux', :operatingsystemrelease => '6.3', :architecture => 'x86_64'} }
|
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'OracleLinux', operatingsystemrelease: '6.3', architecture: 'x86_64' } }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Scientific Linux' do
|
context 'select passed value for Scientific Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Scientific', :operatingsystemrelease => '6.4', :architecture => 'x86_64'} }
|
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Scientific', operatingsystemrelease: '6.4', architecture: 'x86_64' } }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
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/lib/jvm/java-1.7.0/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Scientific Linux CERN (SLC)' do
|
context 'select passed value for Scientific Linux CERN (SLC)' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'SLC', :operatingsystemrelease => '6.4', :architecture => 'x86_64'} }
|
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'SLC', operatingsystemrelease: '6.4', architecture: 'x86_64' } }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
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/lib/jvm/java-1.7.0/') }
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for OpenSUSE 12.3' do
|
context 'select default for OpenSUSE 12.3' do
|
||||||
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'OpenSUSE', :operatingsystemrelease => '12.3', :architecture => 'x86_64'}}
|
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_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/') }
|
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
|
end
|
||||||
|
|
||||||
context 'select default for SLES 11.3' do
|
context 'select default for SLES 11.3' do
|
||||||
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '11.3', :architecture => 'x86_64'}}
|
let(:facts) { { osfamily: 'Suse', operatingsystem: 'SLES', operatingsystemrelease: '11.3', architecture: 'x86_64' } }
|
||||||
it { should contain_package('java').with_name('java-1_6_0-ibm-devel')}
|
|
||||||
|
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/') }
|
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
|
end
|
||||||
|
|
||||||
context 'select default for SLES 11.4' do
|
context 'select default for SLES 11.4' do
|
||||||
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '11.4', :architecture => 'x86_64'}}
|
let(:facts) { { osfamily: 'Suse', operatingsystem: 'SLES', operatingsystemrelease: '11.4', architecture: 'x86_64' } }
|
||||||
it { should contain_package('java').with_name('java-1_7_1-ibm-devel')}
|
|
||||||
|
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.0-ibm-1.7.0/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for SLES 12.0' do
|
context 'select default for SLES 12.0' do
|
||||||
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '12.0', :operatingsystemmajrelease => '12', :architecture => 'x86_64'}}
|
let(:facts) { { osfamily: 'Suse', operatingsystem: 'SLES', operatingsystemrelease: '12.0', operatingsystemmajrelease: '12', architecture: 'x86_64' } }
|
||||||
it { should contain_package('java').with_name('java-1_7_0-openjdk-devel')}
|
|
||||||
|
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/') }
|
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
|
end
|
||||||
|
|
||||||
context 'select default for SLES 12.1' do
|
context 'select default for SLES 12.1' do
|
||||||
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '12.1', :operatingsystemmajrelease => '12', :architecture => 'x86_64'}}
|
let(:facts) { { osfamily: 'Suse', operatingsystem: 'SLES', operatingsystemrelease: '12.1', operatingsystemmajrelease: '12', architecture: 'x86_64' } }
|
||||||
it { should contain_package('java').with_name('java-1_8_0-openjdk-devel')}
|
|
||||||
|
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/') }
|
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
|
end
|
||||||
|
|
||||||
context 'select jdk for OpenBSD' do
|
context 'select jdk for OpenBSD' do
|
||||||
let(:facts) { {:osfamily => 'OpenBSD', :architecture => 'x86_64'} }
|
let(:facts) { { osfamily: 'OpenBSD', architecture: 'x86_64' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('jdk') }
|
it { is_expected.to contain_package('java').with_name('jdk') }
|
||||||
it { is_expected.to_not contain_file_line('java-home-environment') }
|
it { is_expected.not_to contain_file_line('java-home-environment') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select jre for OpenBSD' do
|
context 'select jre for OpenBSD' do
|
||||||
let(:facts) { {:osfamily => 'OpenBSD', :architecture => 'x86_64'} }
|
let(:facts) { { osfamily: 'OpenBSD', architecture: 'x86_64' } }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('jre') }
|
it { is_expected.to contain_package('java').with_name('jre') }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'custom java package' do
|
describe 'custom java package' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'jessie', :operatingsystemrelease => '8.6', :architecture => 'amd64',} }
|
let(:facts) { { osfamily: 'Debian', operatingsystem: 'Debian', lsbdistcodename: 'jessie', operatingsystemrelease: '8.6', architecture: 'amd64' } }
|
||||||
|
|
||||||
context 'all params provided' do
|
context 'all params provided' do
|
||||||
let(:params) { {
|
let(:params) do
|
||||||
|
{
|
||||||
'distribution' => 'custom',
|
'distribution' => 'custom',
|
||||||
'package' => 'custom_jdk',
|
'package' => 'custom_jdk',
|
||||||
'java_alternative' => 'java-custom_jdk',
|
'java_alternative' => 'java-custom_jdk',
|
||||||
'java_alternative_path' => '/opt/custom_jdk/bin/java',
|
'java_alternative_path' => '/opt/custom_jdk/bin/java',
|
||||||
'java_home' => '/opt/custom_jdk',
|
'java_home' => '/opt/custom_jdk',
|
||||||
} }
|
}
|
||||||
|
end
|
||||||
|
|
||||||
it { is_expected.to contain_package('java').with_name('custom_jdk') }
|
it { is_expected.to contain_package('java').with_name('custom_jdk') }
|
||||||
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/opt/custom_jdk') }
|
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') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-custom_jdk --jre') }
|
||||||
|
|
||||||
end
|
end
|
||||||
context 'missing parameters' do
|
context 'missing parameters' do
|
||||||
let(:params) { {
|
let(:params) do
|
||||||
|
{
|
||||||
'distribution' => 'custom',
|
'distribution' => 'custom',
|
||||||
'package' => 'custom_jdk',
|
'package' => 'custom_jdk',
|
||||||
} }
|
}
|
||||||
it do
|
|
||||||
expect { catalogue }.to raise_error Puppet::Error, /is not supported. Missing default values/
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it do
|
||||||
|
expect { catalogue }.to raise_error Puppet::Error, %r{is not supported. Missing default values}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe 'incompatible OSs' do
|
describe 'incompatible OSs' do
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
# C14706
|
# C14706
|
||||||
:osfamily => 'windows',
|
osfamily: 'windows',
|
||||||
:operatingsystem => 'windows',
|
operatingsystem: 'windows',
|
||||||
:operatingsystemrelease => '8.1',
|
operatingsystemrelease: '8.1',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# C14707
|
# C14707
|
||||||
:osfamily => 'Darwin',
|
osfamily: 'Darwin',
|
||||||
:operatingsystem => 'Darwin',
|
operatingsystem: 'Darwin',
|
||||||
:operatingsystemrelease => '13.3.0',
|
operatingsystemrelease: '13.3.0',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# C14708
|
# C14708
|
||||||
:osfamily => 'AIX',
|
osfamily: 'AIX',
|
||||||
:operatingsystem => 'AIX',
|
operatingsystem: 'AIX',
|
||||||
:operatingsystemrelease => '7100-02-00-000',
|
operatingsystemrelease: '7100-02-00-000',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# C14708
|
# C14708
|
||||||
:osfamily => 'AIX',
|
osfamily: 'AIX',
|
||||||
:operatingsystem => 'AIX',
|
operatingsystem: 'AIX',
|
||||||
:operatingsystemrelease => '6100-07-04-1216',
|
operatingsystemrelease: '6100-07-04-1216',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# C14708
|
# C14708
|
||||||
:osfamily => 'AIX',
|
osfamily: 'AIX',
|
||||||
:operatingsystem => 'AIX',
|
operatingsystem: 'AIX',
|
||||||
:operatingsystemrelease => '5300-12-01-1016',
|
operatingsystemrelease: '5300-12-01-1016',
|
||||||
},
|
},
|
||||||
].each do |facts|
|
].each do |facts|
|
||||||
let(:facts) { facts }
|
let(:facts) { facts }
|
||||||
|
|
||||||
it "is_expected.to fail on #{facts[:operatingsystem]} #{facts[:operatingsystemrelease]}" do
|
it "is_expected.to fail on #{facts[:operatingsystem]} #{facts[:operatingsystemrelease]}" do
|
||||||
expect { catalogue }.to raise_error Puppet::Error, /unsupported platform/
|
expect { catalogue }.to raise_error Puppet::Error, %r{unsupported platform}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,129 +1,152 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'java::oracle', :type => :define do
|
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 'On CentOS 64-bit' do
|
||||||
let(:facts) { { :kernel => 'Linux', :os => {:family => 'RedHat', :architecture => 'x86_64', :name => 'CentOS', :release => {:full => '6.0'}}}}
|
let(:facts) { { kernel: 'Linux', os: { family: 'RedHat', architecture: 'x86_64', name: 'CentOS', release: { full: '6.0' } } } }
|
||||||
|
|
||||||
context 'Oracle Java SE 6 JDK' do
|
context 'Oracle Java SE 6 JDK' do
|
||||||
let(:params) { {:ensure => 'present', :version => '6', :java_se => 'jdk'} }
|
let(:params) { { ensure: 'present', version: '6', java_se: 'jdk' } }
|
||||||
let :title do 'jdk6' end
|
let(:title) { 'jdk6' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-x64-rpm.bin') }
|
it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-x64-rpm.bin') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').with_command('sh /tmp/jdk-6u45-linux-x64-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jdk*.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').with_command('sh /tmp/jdk-6u45-linux-x64-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jdk*.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-x64-rpm.bin]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-x64-rpm.bin]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Oracle Java SE 7 JDK' do
|
context 'Oracle Java SE 7 JDK' do
|
||||||
let(:params) { {:ensure => 'present', :version => '7', :java_se => 'jdk'} }
|
let(:params) { { ensure: 'present', version: '7', java_se: 'jdk' } }
|
||||||
let :title do 'jdk7' end
|
let(:title) { 'jdk7' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-x64.rpm') }
|
it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-x64.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').with_command('rpm --force -iv /tmp/jdk-7u80-linux-x64.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').with_command('rpm --force -iv /tmp/jdk-7u80-linux-x64.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-x64.rpm]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-x64.rpm]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Oracle Java SE 8 JDK' do
|
context 'Oracle Java SE 8 JDK' do
|
||||||
let(:params) { {:ensure => 'present', :version => '8', :java_se => 'jdk'} }
|
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
|
||||||
let :title do 'jdk8' end
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.rpm') }
|
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').with_command('rpm --force -iv /tmp/jdk-8u131-linux-x64.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').with_command('rpm --force -iv /tmp/jdk-8u131-linux-x64.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-x64.rpm]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-x64.rpm]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Oracle Java SE 6 JRE' do
|
context 'Oracle Java SE 6 JRE' do
|
||||||
let(:params) { {:ensure => 'present', :version => '6', :java_se => 'jre'} }
|
let(:params) { { ensure: 'present', version: '6', java_se: 'jre' } }
|
||||||
let :title do 'jre6' end
|
let(:title) { 'jre6' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jre-6u45-linux-x64-rpm.bin') }
|
it { is_expected.to contain_archive('/tmp/jre-6u45-linux-x64-rpm.bin') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 6').with_command('sh /tmp/jre-6u45-linux-x64-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jre*.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 6').with_command('sh /tmp/jre-6u45-linux-x64-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jre*.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-x64-rpm.bin]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-x64-rpm.bin]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Oracle Java SE 7 JRE' do
|
context 'Oracle Java SE 7 JRE' do
|
||||||
let(:params) { {:ensure => 'present', :version => '7', :java_se => 'jre'} }
|
let(:params) { { ensure: 'present', version: '7', java_se: 'jre' } }
|
||||||
let :title do 'jre7' end
|
let(:title) { 'jre7' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jre-7u80-linux-x64.rpm') }
|
it { is_expected.to contain_archive('/tmp/jre-7u80-linux-x64.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 7').with_command('rpm --force -iv /tmp/jre-7u80-linux-x64.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 7').with_command('rpm --force -iv /tmp/jre-7u80-linux-x64.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-x64.rpm]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-x64.rpm]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java SE 8 JRE' do
|
context 'select Oracle Java SE 8 JRE' do
|
||||||
let(:params) { {:ensure => 'present', :version => '8', :java_se => 'jre'} }
|
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
|
||||||
let :title do 'jre8' end
|
let(:title) { 'jre8' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jre-8u131-linux-x64.rpm') }
|
it { is_expected.to contain_archive('/tmp/jre-8u131-linux-x64.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 8').with_command('rpm --force -iv /tmp/jre-8u131-linux-x64.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 8').with_command('rpm --force -iv /tmp/jre-8u131-linux-x64.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-x64.rpm]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-x64.rpm]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Pass URL to url parameter' do
|
context 'Pass URL to url parameter' do
|
||||||
let(:params) { {
|
let(:params) do
|
||||||
:ensure => 'present',
|
{
|
||||||
:version_major => '8u131',
|
ensure: 'present',
|
||||||
:version_minor => 'b11',
|
version_major: '8u131',
|
||||||
:java_se => 'jdk',
|
version_minor: 'b11',
|
||||||
:url => 'http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm',
|
java_se: 'jdk',
|
||||||
:url_hash => 'ignored',
|
url: 'http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm',
|
||||||
} }
|
url_hash: 'ignored',
|
||||||
let :title do 'jdk8' end
|
}
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.rpm').with_source('http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm') }
|
end
|
||||||
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.rpm')
|
||||||
|
.with_source('http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm')
|
||||||
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Pass a hash to url_hash parameter' do
|
context 'Pass a hash to url_hash parameter' do
|
||||||
let(:params) { {
|
let(:params) do
|
||||||
:ensure => 'present',
|
{
|
||||||
:version_major => '8u131',
|
ensure: 'present',
|
||||||
:version_minor => 'b11',
|
version_major: '8u131',
|
||||||
:java_se => 'jdk',
|
version_minor: 'b11',
|
||||||
:url_hash => 'abcdef01234567890',
|
java_se: 'jdk',
|
||||||
} }
|
url_hash: 'abcdef01234567890',
|
||||||
let :title do 'jdk8' end
|
}
|
||||||
|
end
|
||||||
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.rpm').with_source('http://download.oracle.com/otn-pub/java/jdk//8u131-b11/abcdef01234567890/jdk-8u131-linux-x64.rpm') }
|
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.rpm').with_source('http://download.oracle.com/otn-pub/java/jdk//8u131-b11/abcdef01234567890/jdk-8u131-linux-x64.rpm') }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'On CentOS 32-bit' do
|
context 'On CentOS 32-bit' do
|
||||||
let(:facts) { {:kernel => 'Linux', :os => { :family => 'RedHat', :architecture => 'i386', :name => 'CentOS', :release => { :full => '6.6' } } } }
|
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 'select Oracle Java SE 6 JDK on RedHat family, 32-bit' do
|
||||||
let(:params) { {:ensure => 'present', :version => '6', :java_se => 'jdk'} }
|
let(:params) { { ensure: 'present', version: '6', java_se: 'jdk' } }
|
||||||
let :title do 'jdk6' end
|
let(:title) { 'jdk6' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-i586-rpm.bin') }
|
it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-i586-rpm.bin') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').with_command('sh /tmp/jdk-6u45-linux-i586-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jdk*.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').with_command('sh /tmp/jdk-6u45-linux-i586-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jdk*.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-i586-rpm.bin]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-i586-rpm.bin]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java SE 7 JDK on RedHat family, 32-bit' do
|
context 'select Oracle Java SE 7 JDK on RedHat family, 32-bit' do
|
||||||
let(:params) { {:ensure => 'present', :version => '7', :java_se => 'jdk'} }
|
let(:params) { { ensure: 'present', version: '7', java_se: 'jdk' } }
|
||||||
let :title do 'jdk7' end
|
let(:title) { 'jdk7' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-i586.rpm') }
|
it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-i586.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').with_command('rpm --force -iv /tmp/jdk-7u80-linux-i586.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').with_command('rpm --force -iv /tmp/jdk-7u80-linux-i586.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-i586.rpm]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-i586.rpm]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java SE 8 JDK on RedHat family, 32-bit' do
|
context 'select Oracle Java SE 8 JDK on RedHat family, 32-bit' do
|
||||||
let(:params) { {:ensure => 'present', :version => '8', :java_se => 'jdk'} }
|
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
|
||||||
let :title do 'jdk8' end
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-i586.rpm') }
|
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-i586.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').with_command('rpm --force -iv /tmp/jdk-8u131-linux-i586.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').with_command('rpm --force -iv /tmp/jdk-8u131-linux-i586.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-i586.rpm]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-i586.rpm]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java SE 6 JRE on RedHat family, 32-bit' do
|
context 'select Oracle Java SE 6 JRE on RedHat family, 32-bit' do
|
||||||
let(:params) { {:ensure => 'present', :version => '6', :java_se => 'jre'} }
|
let(:params) { { ensure: 'present', version: '6', java_se: 'jre' } }
|
||||||
let :title do 'jdk6' end
|
let(:title) { 'jdk6' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jre-6u45-linux-i586-rpm.bin') }
|
it { is_expected.to contain_archive('/tmp/jre-6u45-linux-i586-rpm.bin') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 6').with_command('sh /tmp/jre-6u45-linux-i586-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jre*.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 6').with_command('sh /tmp/jre-6u45-linux-i586-rpm.bin -x; rpm --force -iv sun*.rpm; rpm --force -iv jre*.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-i586-rpm.bin]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-i586-rpm.bin]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java SE 7 JRE on RedHat family, 32-bit' do
|
context 'select Oracle Java SE 7 JRE on RedHat family, 32-bit' do
|
||||||
let(:params) { {:ensure => 'present', :version => '7', :java_se => 'jre'} }
|
let(:params) { { ensure: 'present', version: '7', java_se: 'jre' } }
|
||||||
let :title do 'jdk7' end
|
let(:title) { 'jdk7' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jre-7u80-linux-i586.rpm') }
|
it { is_expected.to contain_archive('/tmp/jre-7u80-linux-i586.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 7').with_command('rpm --force -iv /tmp/jre-7u80-linux-i586.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 7').with_command('rpm --force -iv /tmp/jre-7u80-linux-i586.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-i586.rpm]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-i586.rpm]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java SE 8 JRE on RedHat family, 32-bit' do
|
context 'select Oracle Java SE 8 JRE on RedHat family, 32-bit' do
|
||||||
let(:params) { {:ensure => 'present', :version => '8', :java_se => 'jre'} }
|
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
|
||||||
let :title do 'jdk8' end
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jre-8u131-linux-i586.rpm') }
|
it { is_expected.to contain_archive('/tmp/jre-8u131-linux-i586.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 8').with_command('rpm --force -iv /tmp/jre-8u131-linux-i586.rpm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 8').with_command('rpm --force -iv /tmp/jre-8u131-linux-i586.rpm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-i586.rpm]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-i586.rpm]') }
|
||||||
@@ -131,59 +154,66 @@ describe 'java::oracle', :type => :define do
|
|||||||
end
|
end
|
||||||
|
|
||||||
context 'On Ubuntu 64-bit' do
|
context 'On Ubuntu 64-bit' do
|
||||||
let(:facts) { {:kernel => 'Linux', :os => { :family => 'Debian', :architecture => 'amd64', :name => 'Ubuntu', :release => { :full => '16.04' } } } }
|
let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '16.04' } } } }
|
||||||
|
|
||||||
context 'Oracle Java SE 6 JDK' do
|
context 'Oracle Java SE 6 JDK' do
|
||||||
let(:params) { {:ensure => 'present', :version => '6', :java_se => 'jdk'} }
|
let(:params) { { ensure: 'present', version: '6', java_se: 'jdk' } }
|
||||||
let :title do 'jdk6' end
|
let(:title) { 'jdk6' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-x64.tar.gz') }
|
it { is_expected.to contain_archive('/tmp/jdk-6u45-linux-x64.tar.gz') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').with_command('tar -zxf /tmp/jdk-6u45-linux-x64.tar.gz -C /usr/lib/jvm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').with_command('tar -zxf /tmp/jdk-6u45-linux-x64.tar.gz -C /usr/lib/jvm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-x64.tar.gz]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-x64.tar.gz]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Oracle Java SE 7 JDK' do
|
context 'Oracle Java SE 7 JDK' do
|
||||||
let(:params) { {:ensure => 'present', :version => '7', :java_se => 'jdk'} }
|
let(:params) { { ensure: 'present', version: '7', java_se: 'jdk' } }
|
||||||
let :title do 'jdk7' end
|
let(:title) { 'jdk7' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-x64.tar.gz') }
|
it { is_expected.to contain_archive('/tmp/jdk-7u80-linux-x64.tar.gz') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').with_command('tar -zxf /tmp/jdk-7u80-linux-x64.tar.gz -C /usr/lib/jvm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').with_command('tar -zxf /tmp/jdk-7u80-linux-x64.tar.gz -C /usr/lib/jvm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-x64.tar.gz]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-x64.tar.gz]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Oracle Java SE 8 JDK' do
|
context 'Oracle Java SE 8 JDK' do
|
||||||
let(:params) { {:ensure => 'present', :version => '8', :java_se => 'jdk'} }
|
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
|
||||||
let :title do 'jdk8' end
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.tar.gz') }
|
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.tar.gz') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').with_command('tar -zxf /tmp/jdk-8u131-linux-x64.tar.gz -C /usr/lib/jvm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').with_command('tar -zxf /tmp/jdk-8u131-linux-x64.tar.gz -C /usr/lib/jvm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-x64.tar.gz]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jdk 8').that_requires('Archive[/tmp/jdk-8u131-linux-x64.tar.gz]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Oracle Java SE 6 JRE' do
|
context 'Oracle Java SE 6 JRE' do
|
||||||
let(:params) { {:ensure => 'present', :version => '6', :java_se => 'jre'} }
|
let(:params) { { ensure: 'present', version: '6', java_se: 'jre' } }
|
||||||
let :title do 'jre6' end
|
let(:title) { 'jre6' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jre-6u45-linux-x64.tar.gz') }
|
it { is_expected.to contain_archive('/tmp/jre-6u45-linux-x64.tar.gz') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 6').with_command('tar -zxf /tmp/jre-6u45-linux-x64.tar.gz -C /usr/lib/jvm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 6').with_command('tar -zxf /tmp/jre-6u45-linux-x64.tar.gz -C /usr/lib/jvm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-x64.tar.gz]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 6').that_requires('Archive[/tmp/jre-6u45-linux-x64.tar.gz]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Oracle Java SE 7 JRE' do
|
context 'Oracle Java SE 7 JRE' do
|
||||||
let(:params) { {:ensure => 'present', :version => '7', :java_se => 'jre'} }
|
let(:params) { { ensure: 'present', version: '7', java_se: 'jre' } }
|
||||||
let :title do 'jre7' end
|
let(:title) { 'jre7' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jre-7u80-linux-x64.tar.gz') }
|
it { is_expected.to contain_archive('/tmp/jre-7u80-linux-x64.tar.gz') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 7').with_command('tar -zxf /tmp/jre-7u80-linux-x64.tar.gz -C /usr/lib/jvm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 7').with_command('tar -zxf /tmp/jre-7u80-linux-x64.tar.gz -C /usr/lib/jvm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-x64.tar.gz]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 7').that_requires('Archive[/tmp/jre-7u80-linux-x64.tar.gz]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java SE 8 JRE' do
|
context 'select Oracle Java SE 8 JRE' do
|
||||||
let(:params) { {:ensure => 'present', :version => '8', :java_se => 'jre'} }
|
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
|
||||||
let :title do 'jre8' end
|
let(:title) { 'jre8' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jre-8u131-linux-x64.tar.gz') }
|
it { is_expected.to contain_archive('/tmp/jre-8u131-linux-x64.tar.gz') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 8').with_command('tar -zxf /tmp/jre-8u131-linux-x64.tar.gz -C /usr/lib/jvm') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 8').with_command('tar -zxf /tmp/jre-8u131-linux-x64.tar.gz -C /usr/lib/jvm') }
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-x64.tar.gz]') }
|
it { is_expected.to contain_exec('Install Oracle java_se jre 8').that_requires('Archive[/tmp/jre-8u131-linux-x64.tar.gz]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Pass URL to url parameter' do
|
context 'Pass URL to url parameter' do
|
||||||
let(:params) { {:ensure => 'present', :version_major => '8u131', :version_minor => 'b11', :java_se => 'jdk', :url => 'http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz'} }
|
let(:params) { { ensure: 'present', version_major: '8u131', version_minor: 'b11', java_se: 'jdk', url: oracle_url.to_s } }
|
||||||
let :title do 'jdk8' end
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.tar.gz') }
|
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.tar.gz') }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -191,64 +221,65 @@ describe 'java::oracle', :type => :define do
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
# C14706
|
# C14706
|
||||||
:kernel => 'Windows',
|
kernel: 'Windows',
|
||||||
:os => {
|
os: {
|
||||||
:family => 'Windows',
|
family: 'Windows',
|
||||||
:name => 'Windows',
|
name: 'Windows',
|
||||||
:release => {
|
release: {
|
||||||
:full => '8.1'
|
full: '8.1',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# C14707
|
# C14707
|
||||||
:kernel => 'Darwin',
|
kernel: 'Darwin',
|
||||||
:os => {
|
os: {
|
||||||
:family => 'Darwin',
|
family: 'Darwin',
|
||||||
:name => 'Darwin',
|
name: 'Darwin',
|
||||||
:release => {
|
release: {
|
||||||
:full => '13.3.0'
|
full: '13.3.0',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# C14708
|
# C14708
|
||||||
:kernel => 'AIX',
|
kernel: 'AIX',
|
||||||
:os => {
|
os: {
|
||||||
:family => 'AIX',
|
family: 'AIX',
|
||||||
:name => 'AIX',
|
name: 'AIX',
|
||||||
:release => {
|
release: {
|
||||||
:full => '7100-02-00-000'
|
full: '7100-02-00-000',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# C14709
|
# C14709
|
||||||
:kernel => 'AIX',
|
kernel: 'AIX',
|
||||||
:os => {
|
os: {
|
||||||
:family => 'AIX',
|
family: 'AIX',
|
||||||
:name => 'AIX',
|
name: 'AIX',
|
||||||
:release => {
|
release: {
|
||||||
:full => '6100-07-04-1216'
|
full: '6100-07-04-1216',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
# C14710
|
# C14710
|
||||||
:kernel => 'AIX',
|
kernel: 'AIX',
|
||||||
:os => {
|
os: {
|
||||||
:family => 'AIX',
|
family: 'AIX',
|
||||||
:name => 'AIX',
|
name: 'AIX',
|
||||||
:release => {
|
release: {
|
||||||
:full => '5300-12-01-1016'
|
full: '5300-12-01-1016',
|
||||||
}
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
|
||||||
].each do |facts|
|
].each do |facts|
|
||||||
let(:facts) { facts }
|
let(:facts) { facts }
|
||||||
let :title do 'jdk' end
|
let(:title) { 'jdk' }
|
||||||
|
|
||||||
it "is_expected.to fail on #{facts[:os][:name]} #{facts[:os][:release][:full]}" do
|
it "is_expected.to fail on #{facts[:os][:name]} #{facts[:os][:release][:full]}" do
|
||||||
expect { catalogue }.to raise_error Puppet::Error, /unsupported platform/
|
expect { catalogue }.to raise_error Puppet::Error, %r{unsupported platform}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ run_puppet_install_helper
|
|||||||
install_module_on(hosts)
|
install_module_on(hosts)
|
||||||
install_module_dependencies_on(hosts)
|
install_module_dependencies_on(hosts)
|
||||||
|
|
||||||
UNSUPPORTED_PLATFORMS = [ "Darwin", "windows" ]
|
UNSUPPORTED_PLATFORMS = %w[Darwin windows].freeze
|
||||||
|
|
||||||
unless ENV["RS_PROVISION"] == "no" or ENV["BEAKER_provision"] == "no"
|
unless ENV['RS_PROVISION'] == 'no' || ENV['BEAKER_provision'] == 'no'
|
||||||
hosts.each do |host|
|
hosts.each do |host|
|
||||||
install_puppet_module_via_pmt_on(host, {module_name: 'puppetlabs-apt'})
|
install_puppet_module_via_pmt_on(host, module_name: 'puppetlabs-apt')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1,41 +1,44 @@
|
|||||||
require "spec_helper"
|
require 'spec_helper'
|
||||||
|
|
||||||
|
java_7_path = '/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'
|
||||||
|
java_7_home = '/usr/lib/jvm/java-7-openjdk-amd64'
|
||||||
|
java_8_path = '/usr/lib/jvm/oracle-java8-jre-amd64/bin/java'
|
||||||
|
java_8_home = '/usr/lib/jvm/oracle-java8-jre-amd64'
|
||||||
|
|
||||||
def unlink_and_delete(filename)
|
def unlink_and_delete(filename)
|
||||||
if File.symlink?(filename)
|
if File.symlink?(filename)
|
||||||
File.unlink(filename)
|
File.unlink(filename)
|
||||||
end
|
end
|
||||||
if File.exist?(filename)
|
return unless File.exist?(filename)
|
||||||
File.delete(filename)
|
File.delete(filename)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def symlink_and_test(symlink_path, java_home)
|
||||||
|
File.symlink(symlink_path, './java_test')
|
||||||
|
Facter::Util::Resolution.expects(:which).with('java').returns('./java_test')
|
||||||
|
File.expects(:realpath).with('./java_test').returns(symlink_path)
|
||||||
|
expect(Facter.value(:java_default_home)).to eql java_home
|
||||||
end
|
end
|
||||||
|
|
||||||
describe Facter::Util::Fact do
|
describe 'java_default_home' do
|
||||||
|
before(:each) do
|
||||||
describe "java_default_home" do
|
|
||||||
before(:each) {
|
|
||||||
Facter.clear
|
Facter.clear
|
||||||
Facter.fact(:kernel).stubs(:value).returns('Linux')
|
Facter.fact(:kernel).stubs(:value).returns('Linux')
|
||||||
}
|
end
|
||||||
|
|
||||||
context 'returns java home path when java found in PATH' do
|
context 'returns java home path when java found in PATH' do
|
||||||
context "when java is in /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java" do
|
context 'when java is in /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java' do
|
||||||
it do
|
it do
|
||||||
unlink_and_delete('./java_test')
|
unlink_and_delete('./java_test')
|
||||||
File.symlink('/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java', './java_test')
|
symlink_and_test(java_7_path, java_7_home)
|
||||||
Facter::Util::Resolution.expects(:which).with("java").returns("./java_test")
|
|
||||||
File.expects(:realpath).with('./java_test').returns('/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java')
|
|
||||||
expect(Facter.value(:java_default_home)).to eql '/usr/lib/jvm/java-7-openjdk-amd64'
|
|
||||||
unlink_and_delete('./java_test')
|
unlink_and_delete('./java_test')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "when java is in /usr/lib/jvm/oracle-java8-jre-amd64/bin/java" do
|
context 'when java is in /usr/lib/jvm/oracle-java8-jre-amd64/bin/java' do
|
||||||
it do
|
it do
|
||||||
unlink_and_delete('./java_test')
|
unlink_and_delete('./java_test')
|
||||||
File.symlink('/usr/lib/jvm/oracle-java8-jre-amd64/bin/java', './java_test')
|
symlink_and_test(java_8_path, java_8_home)
|
||||||
Facter::Util::Resolution.expects(:which).with("java").returns("./java_test")
|
|
||||||
File.expects(:realpath).with('./java_test').returns('/usr/lib/jvm/oracle-java8-jre-amd64/bin/java')
|
|
||||||
expect(Facter.value(:java_default_home)).to eql '/usr/lib/jvm/oracle-java8-jre-amd64'
|
|
||||||
unlink_and_delete('./java_test')
|
unlink_and_delete('./java_test')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -44,9 +47,8 @@ describe Facter::Util::Fact do
|
|||||||
context 'returns nil when java not present' do
|
context 'returns nil when java not present' do
|
||||||
it do
|
it do
|
||||||
Facter::Util::Resolution.stubs(:exec)
|
Facter::Util::Resolution.stubs(:exec)
|
||||||
Facter::Util::Resolution.expects(:which).with("java").at_least(1).returns(false)
|
Facter::Util::Resolution.expects(:which).with('java').at_least(1).returns(false)
|
||||||
expect(Facter.value(:java_default_home)).to be_nil
|
expect(Facter.value(:java_default_home)).to be_nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|||||||
@@ -1,21 +1,17 @@
|
|||||||
require "spec_helper"
|
require 'spec_helper'
|
||||||
|
|
||||||
describe Facter::Util::Fact do
|
describe 'java_libjvm_path' do
|
||||||
before {
|
before(:each) do
|
||||||
Facter.clear
|
Facter.clear
|
||||||
Facter.fact(:kernel).stubs(:value).returns('Linux')
|
Facter.fact(:kernel).stubs(:value).returns('Linux')
|
||||||
java_default_home = '/usr/lib/jvm/java-8-openjdk-amd64'
|
java_default_home = '/usr/lib/jvm/java-8-openjdk-amd64'
|
||||||
Facter.fact(:java_default_home).stubs(:value).returns(java_default_home)
|
Facter.fact(:java_default_home).stubs(:value).returns(java_default_home)
|
||||||
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'])
|
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
|
||||||
|
|
||||||
describe "java_libjvm_path" do
|
context 'returns libjvm path on Linux' do
|
||||||
context 'returns libjvm path' do
|
|
||||||
context 'on Linux' do
|
|
||||||
it do
|
it do
|
||||||
expect(Facter.value(:java_libjvm_path)).to eql "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server"
|
expect(Facter.value(:java_libjvm_path)).to eql '/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server'
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
require "spec_helper"
|
require 'spec_helper'
|
||||||
|
|
||||||
describe Facter::Util::Fact do
|
describe 'java_major_version' do
|
||||||
before {
|
before(:each) do
|
||||||
Facter.clear
|
Facter.clear
|
||||||
}
|
end
|
||||||
|
|
||||||
describe "java_major_version" do
|
|
||||||
context 'returns major version when java_version fact present' do
|
context 'returns major version when java_version fact present' do
|
||||||
before :each do
|
before :each do
|
||||||
Facter.fact(:java_version).stubs(:value).returns('1.7.0_71')
|
Facter.fact(:java_version).stubs(:value).returns('1.7.0_71')
|
||||||
end
|
end
|
||||||
it do
|
it do
|
||||||
expect(Facter.fact(:java_major_version).value).to eq("7")
|
expect(Facter.fact(:java_major_version).value).to eq('7')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -24,4 +23,3 @@ describe Facter::Util::Fact do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|||||||
@@ -1,24 +1,20 @@
|
|||||||
require "spec_helper"
|
require 'spec_helper'
|
||||||
|
|
||||||
describe Facter::Util::Fact do
|
describe 'java_patch_level' do
|
||||||
before {
|
before(:each) do
|
||||||
Facter.clear
|
Facter.clear
|
||||||
}
|
end
|
||||||
|
|
||||||
describe "java_patch_level" do
|
context 'if java is installed returns java patch version extracted from java_version fact' do
|
||||||
context "if java is installed" do
|
|
||||||
context 'returns java patch version extracted from java_version fact' do
|
|
||||||
before :each do
|
before :each do
|
||||||
Facter.fact(:java_version).stubs(:value).returns('1.7.0_71')
|
Facter.fact(:java_version).stubs(:value).returns('1.7.0_71')
|
||||||
end
|
end
|
||||||
it do
|
it do
|
||||||
expect(Facter.fact(:java_patch_level).value).to eq("71")
|
expect(Facter.fact(:java_patch_level).value).to eq('71')
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "if java is not installed" do
|
context 'if java is not installed returns nil' do
|
||||||
context 'returns nil' do
|
|
||||||
before :each do
|
before :each do
|
||||||
Facter.fact(:java_version).stubs(:value).returns(nil)
|
Facter.fact(:java_version).stubs(:value).returns(nil)
|
||||||
end
|
end
|
||||||
@@ -27,5 +23,3 @@ describe Facter::Util::Fact do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|||||||
@@ -1,96 +1,92 @@
|
|||||||
require "spec_helper"
|
require 'spec_helper'
|
||||||
|
|
||||||
describe Facter::Util::Fact do
|
openjdk_7_output = "Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true\n"\
|
||||||
before {
|
"openjdk version \"1.7.0_71\"\n"\
|
||||||
|
"OpenJDK Runtime Environment (build 1.7.0_71-b14)\n"\
|
||||||
|
"OpenJDK 64-Bit Server VM (build 24.71-b01, mixed mode)\n"
|
||||||
|
|
||||||
|
jdk_7_hotspot_output = "Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true\n"\
|
||||||
|
"java version \"1.7.0_71\"\n"\
|
||||||
|
"Java(TM) SE Runtime Environment (build 1.7.0_71-b14)\n"\
|
||||||
|
"Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)\n"
|
||||||
|
|
||||||
|
describe 'java_version' do
|
||||||
|
before(:each) do
|
||||||
Facter.clear
|
Facter.clear
|
||||||
}
|
|
||||||
|
|
||||||
describe "java_version" do
|
|
||||||
context 'returns java version when java present' do
|
|
||||||
context 'on OpenBSD' do
|
|
||||||
before do
|
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("OpenBSD")
|
|
||||||
end
|
end
|
||||||
let(:facts) { {:operatingsystem => 'OpenBSD'} }
|
|
||||||
|
context 'returns java version when java present' do
|
||||||
|
context 'on OpenBSD', with_env: true do
|
||||||
|
before(:each) do
|
||||||
|
Facter.fact(:operatingsystem).stubs(:value).returns('OpenBSD')
|
||||||
|
end
|
||||||
|
let(:facts) { { operatingsystem: 'OpenBSD' } }
|
||||||
|
|
||||||
it do
|
it do
|
||||||
java_version_output = <<-EOS
|
Facter::Util::Resolution.expects(:which).with('java').returns('/usr/local/jdk-1.7.0/jre/bin/java')
|
||||||
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
|
Facter::Util::Resolution.expects(:exec).with('java -Xmx12m -version 2>&1').returns(openjdk_7_output)
|
||||||
openjdk version "1.7.0_71"
|
expect(Facter.value(:java_version)).to eq('1.7.0_71')
|
||||||
OpenJDK Runtime Environment (build 1.7.0_71-b14)
|
|
||||||
OpenJDK 64-Bit Server VM (build 24.71-b01, mixed mode)
|
|
||||||
EOS
|
|
||||||
Facter::Util::Resolution.expects(:which).with("java").returns('/usr/local/jdk-1.7.0/jre/bin/java')
|
|
||||||
Facter::Util::Resolution.expects(:exec).with("java -Xmx12m -version 2>&1").returns(java_version_output)
|
|
||||||
expect(Facter.value(:java_version)).to eq("1.7.0_71")
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
context 'on Darwin' do
|
context 'on Darwin' do
|
||||||
before do
|
before(:each) do
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("Darwin")
|
Facter.fact(:operatingsystem).stubs(:value).returns('Darwin')
|
||||||
end
|
end
|
||||||
let(:facts) { {:operatingsystem => 'Darwin'} }
|
let(:facts) { { operatingsystem: 'Darwin' } }
|
||||||
|
|
||||||
it do
|
it do
|
||||||
java_version_output = <<-EOS
|
Facter::Util::Resolution.expects(:exec).with('/usr/libexec/java_home --failfast 2>&1').returns('/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home')
|
||||||
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
|
Facter::Util::Resolution.expects(:exec).with('java -Xmx12m -version 2>&1').returns(jdk_7_hotspot_output)
|
||||||
java version "1.7.0_71"
|
expect(Facter.value(:java_version)).to eql '1.7.0_71'
|
||||||
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
|
|
||||||
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
|
|
||||||
EOS
|
|
||||||
Facter::Util::Resolution.expects(:exec).with("/usr/libexec/java_home --failfast 2>&1").returns("/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home")
|
|
||||||
Facter::Util::Resolution.expects(:exec).with("java -Xmx12m -version 2>&1").returns(java_version_output)
|
|
||||||
expect(Facter.value(:java_version)).to eql "1.7.0_71"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
context 'on other systems' do
|
context 'on other systems' do
|
||||||
before do
|
before(:each) do
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("MyOS")
|
Facter.fact(:operatingsystem).stubs(:value).returns('MyOS')
|
||||||
end
|
end
|
||||||
let(:facts) { {:operatingsystem => 'MyOS'} }
|
let(:facts) { { operatingsystem: 'MyOS' } }
|
||||||
|
|
||||||
it do
|
it do
|
||||||
java_version_output = <<-EOS
|
Facter::Util::Resolution.expects(:which).with('java').returns('/path/to/java')
|
||||||
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
|
Facter::Util::Resolution.expects(:exec).with('java -Xmx12m -version 2>&1').returns(jdk_7_hotspot_output)
|
||||||
java version "1.7.0_71"
|
expect(Facter.value(:java_version)).to eq('1.7.0_71')
|
||||||
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
|
|
||||||
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
|
|
||||||
EOS
|
|
||||||
Facter::Util::Resolution.expects(:which).with("java").returns('/path/to/java')
|
|
||||||
Facter::Util::Resolution.expects(:exec).with("java -Xmx12m -version 2>&1").returns(java_version_output)
|
|
||||||
expect(Facter.value(:java_version)).to eq("1.7.0_71")
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'returns nil when java not present' do
|
context 'returns nil when java not present' do
|
||||||
context 'on OpenBSD' do
|
context 'on OpenBSD', with_env: true do
|
||||||
before do
|
before(:each) do
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("OpenBSD")
|
Facter.fact(:operatingsystem).stubs(:value).returns('OpenBSD')
|
||||||
end
|
end
|
||||||
let(:facts) { {:operatingsystem => 'OpenBSD'} }
|
let(:facts) { { operatingsystem: 'OpenBSD' } }
|
||||||
|
|
||||||
it do
|
it do
|
||||||
Facter::Util::Resolution.stubs(:exec)
|
Facter::Util::Resolution.stubs(:exec)
|
||||||
expect(Facter.value(:java_version)).to be_nil
|
expect(Facter.value(:java_version)).to be_nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
context 'on Darwin' do
|
context 'on Darwin' do
|
||||||
before do
|
before(:each) do
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("Darwin")
|
Facter.fact(:operatingsystem).stubs(:value).returns('Darwin')
|
||||||
end
|
end
|
||||||
let(:facts) { {:operatingsystem => 'Darwin'} }
|
let(:facts) { { operatingsystem: 'Darwin' } }
|
||||||
|
|
||||||
it do
|
it do
|
||||||
Facter::Util::Resolution.expects(:exec).at_least(1).with("/usr/libexec/java_home --failfast 2>&1").returns('Unable to find any JVMs matching version "(null)".')
|
Facter::Util::Resolution.expects(:exec).at_least(1).with('/usr/libexec/java_home --failfast 2>&1').returns('Unable to find any JVMs matching version "(null)".')
|
||||||
expect(Facter.value(:java_version)).to be_nil
|
expect(Facter.value(:java_version)).to be_nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
context 'on other systems' do
|
context 'on other systems' do
|
||||||
before do
|
before(:each) do
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("MyOS")
|
Facter.fact(:operatingsystem).stubs(:value).returns('MyOS')
|
||||||
end
|
end
|
||||||
let(:facts) { {:operatingsystem => 'MyOS'} }
|
let(:facts) { { operatingsystem: 'MyOS' } }
|
||||||
|
|
||||||
it do
|
it do
|
||||||
Facter::Util::Resolution.expects(:which).at_least(1).with("java").returns(false)
|
Facter::Util::Resolution.expects(:which).at_least(1).with('java').returns(false)
|
||||||
expect(Facter.value(:java_version)).to be_nil
|
expect(Facter.value(:java_version)).to be_nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|||||||
Reference in New Issue
Block a user