Compare commits
35 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10503819d2 | ||
|
|
5db3084c11 | ||
|
|
10dc3068a7 | ||
|
|
b4490a36b3 | ||
|
|
6561d98e58 | ||
|
|
61cfbe3154 | ||
|
|
85c17ef66f | ||
|
|
697c1911f9 | ||
|
|
c8ce18949b | ||
|
|
9c103a2219 | ||
|
|
61c8794661 | ||
|
|
901bfe989a | ||
|
|
e53b8bb563 | ||
|
|
77b2b199e4 | ||
|
|
6db8715496 | ||
|
|
4911fe8c77 | ||
|
|
fb3e4c4151 | ||
|
|
9596929938 | ||
|
|
e0ce74e1a0 | ||
|
|
f80686908c | ||
|
|
74d70dae04 | ||
|
|
5ad9e400a2 | ||
|
|
078307484f | ||
|
|
dec5136e11 | ||
|
|
71554f3067 | ||
|
|
692b490438 | ||
|
|
7a271eef3e | ||
|
|
39113d885a | ||
|
|
d0c9b41d9d | ||
|
|
d336d79c04 | ||
|
|
e1df6498c7 | ||
|
|
e50eb64614 | ||
|
|
bdfc567c18 | ||
|
|
db30eb9e2d | ||
|
|
d49c1f0e29 |
39
.gitignore
vendored
39
.gitignore
vendored
@@ -1,24 +1,23 @@
|
|||||||
#This file is generated by ModuleSync, do not edit.
|
|
||||||
pkg/
|
|
||||||
Gemfile.lock
|
|
||||||
Gemfile.local
|
|
||||||
vendor/
|
|
||||||
spec/fixtures/manifests/
|
|
||||||
spec/fixtures/modules/
|
|
||||||
log/
|
|
||||||
junit/
|
|
||||||
.vagrant/
|
|
||||||
.bundle/
|
|
||||||
coverage/
|
|
||||||
log/
|
|
||||||
.idea/
|
|
||||||
.metadata
|
|
||||||
*.iml
|
|
||||||
.*.sw[op]
|
.*.sw[op]
|
||||||
|
.metadata
|
||||||
.yardoc
|
.yardoc
|
||||||
.yardwarns
|
.yardwarns
|
||||||
.DS_Store
|
*.iml
|
||||||
tmp/
|
/.bundle/
|
||||||
vendor/
|
/.idea/
|
||||||
doc/
|
/.vagrant/
|
||||||
|
/coverage/
|
||||||
|
/bin/
|
||||||
|
/doc/
|
||||||
|
/Gemfile.local
|
||||||
|
/Gemfile.lock
|
||||||
|
/junit/
|
||||||
|
/log/
|
||||||
|
/log/
|
||||||
|
/pkg/
|
||||||
|
/spec/fixtures/manifests/
|
||||||
|
/spec/fixtures/modules/
|
||||||
|
/tmp/
|
||||||
|
/vendor/
|
||||||
|
/convert_report.txt
|
||||||
|
|
||||||
|
|||||||
593
.rubocop.yml
593
.rubocop.yml
@@ -1,508 +1,105 @@
|
|||||||
|
---
|
||||||
require: rubocop-rspec
|
require: rubocop-rspec
|
||||||
AllCops:
|
AllCops:
|
||||||
TargetRubyVersion: 1.9
|
DisplayCopNames: true
|
||||||
|
TargetRubyVersion: '2.1'
|
||||||
Include:
|
Include:
|
||||||
- ./**/*.rb
|
- "./**/*.rb"
|
||||||
Exclude:
|
Exclude:
|
||||||
- vendor/**/*
|
- bin/*
|
||||||
- .vendor/**/*
|
- ".vendor/**/*"
|
||||||
- pkg/**/*
|
- Gemfile
|
||||||
- spec/fixtures/**/*
|
- Rakefile
|
||||||
Lint/ConditionPosition:
|
- pkg/**/*
|
||||||
Enabled: True
|
- spec/fixtures/**/*
|
||||||
|
- vendor/**/*
|
||||||
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
|
||||||
|
Layout/EndOfLine:
|
||||||
|
Enabled: false
|
||||||
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
|
||||||
|
|
||||||
# Example length is not necessarily an indicator of code quality
|
|
||||||
RSpec/ExampleLength:
|
RSpec/ExampleLength:
|
||||||
Enabled: False
|
Enabled: false
|
||||||
|
RSpec/MessageExpectation:
|
||||||
RSpec/NamedSubject:
|
Enabled: false
|
||||||
Enabled: False
|
RSpec/MultipleExpectations:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/NestedGroups:
|
||||||
|
Enabled: false
|
||||||
|
Style/AsciiComments:
|
||||||
|
Enabled: false
|
||||||
|
Style/IfUnlessModifier:
|
||||||
|
Enabled: false
|
||||||
|
Style/SymbolProc:
|
||||||
|
Enabled: false
|
||||||
|
|||||||
0
.rubocop_todo.yml
Normal file
0
.rubocop_todo.yml
Normal file
62
.sync.yml
62
.sync.yml
@@ -1,5 +1,61 @@
|
|||||||
---
|
---
|
||||||
appveyor.yml:
|
appveyor.yml:
|
||||||
delete: true
|
environment:
|
||||||
spec/spec_helper.rb:
|
PUPPET_GEM_VERSION: "~> 4.0"
|
||||||
allow_deprecations: true
|
matrix:
|
||||||
|
- RUBY_VERSION: 24-x64
|
||||||
|
CHECK: "syntax lint"
|
||||||
|
- RUBY_VERSION: 24-x64
|
||||||
|
CHECK: metadata_lint
|
||||||
|
- RUBY_VERSION: 24-x64
|
||||||
|
CHECK: rubocop
|
||||||
|
- RUBY_VERSION: 24-x64
|
||||||
|
PUPPET_GEM_VERSION: "~> 5.0"
|
||||||
|
CHECK: spec
|
||||||
|
|
||||||
|
.travis.yml:
|
||||||
|
env:
|
||||||
|
- PUPPET_GEM_VERSION="~> 5.0" CHECK=spec
|
||||||
|
bundle_args: --without system_tests
|
||||||
|
docker_sets:
|
||||||
|
- set: docker/centos-7
|
||||||
|
options:
|
||||||
|
- set: docker/ubuntu-14.04
|
||||||
|
options:
|
||||||
|
docker_defaults:
|
||||||
|
bundler_args: ""
|
||||||
|
secure: ""
|
||||||
|
branches:
|
||||||
|
- release
|
||||||
|
extras:
|
||||||
|
- rvm: 2.1.9
|
||||||
|
script: "\"bundle exec rake release_checks\""
|
||||||
|
|
||||||
|
Gemfile:
|
||||||
|
required:
|
||||||
|
':system_tests':
|
||||||
|
- gem: 'puppet-module-posix-system-r#{minor_version}'
|
||||||
|
platforms: ruby
|
||||||
|
- gem: 'puppet-module-win-system-r#{minor_version}'
|
||||||
|
platforms:
|
||||||
|
- mswin
|
||||||
|
- mingw
|
||||||
|
- x64_mingw
|
||||||
|
- gem: beaker
|
||||||
|
version: '~> 3.13'
|
||||||
|
from_env: BEAKER_VERSION
|
||||||
|
- gem: beaker-abs
|
||||||
|
from_env: BEAKER_ABS_VERSION
|
||||||
|
version: '~> 0.1'
|
||||||
|
- gem: beaker-pe
|
||||||
|
- gem: beaker-hostgenerator
|
||||||
|
from_env: BEAKER_HOSTGENERATOR_VERSION
|
||||||
|
- gem: beaker-rspec
|
||||||
|
from_env: BEAKER_RSPEC_VERSION
|
||||||
|
':development':
|
||||||
|
- gem: puppet-blacksmith
|
||||||
|
version: '~> 3.4'
|
||||||
|
|
||||||
|
Rakefile:
|
||||||
|
requires:
|
||||||
|
- puppet_blacksmith/rake_tasks
|
||||||
|
|||||||
76
.travis.yml
76
.travis.yml
@@ -1,32 +1,64 @@
|
|||||||
#This file is generated by ModuleSync, do not edit.
|
|
||||||
---
|
---
|
||||||
sudo: false
|
sudo: false
|
||||||
|
dist: trusty
|
||||||
language: ruby
|
language: ruby
|
||||||
cache: bundler
|
cache: bundler
|
||||||
script: "bundle exec rake release_checks"
|
|
||||||
#Inserting below due to the following issue: https://github.com/travis-ci/travis-ci/issues/3531#issuecomment-88311203
|
|
||||||
before_install:
|
before_install:
|
||||||
- gem update bundler
|
- bundle -v
|
||||||
|
- rm Gemfile.lock || true
|
||||||
|
- gem update --system
|
||||||
|
- gem --version
|
||||||
|
- bundle -v
|
||||||
|
script:
|
||||||
|
- 'bundle exec rake $CHECK'
|
||||||
|
bundler_args: --without system_tests
|
||||||
|
rvm:
|
||||||
|
- 2.4.1
|
||||||
|
- 2.1.9
|
||||||
|
env:
|
||||||
|
- PUPPET_GEM_VERSION="~> 4.0" CHECK=spec
|
||||||
|
- PUPPET_GEM_VERSION="~> 5.0" CHECK=spec
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
include:
|
include:
|
||||||
- rvm: 2.3.1
|
-
|
||||||
dist: trusty
|
bundler_args:
|
||||||
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/ubuntu-14.04
|
dist: trusty
|
||||||
script: bundle exec rake beaker
|
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/centos-7
|
||||||
services: docker
|
rvm: 2.4.1
|
||||||
sudo: required
|
script: bundle exec rake beaker
|
||||||
- rvm: 2.3.1
|
services: docker
|
||||||
dist: trusty
|
sudo: required
|
||||||
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/centos-7
|
-
|
||||||
script: bundle exec rake beaker
|
bundler_args:
|
||||||
services: docker
|
dist: trusty
|
||||||
sudo: required
|
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/ubuntu-14.04
|
||||||
- rvm: 2.4.0
|
rvm: 2.4.1
|
||||||
bundler_args: --without system_tests
|
script: bundle exec rake beaker
|
||||||
env: PUPPET_GEM_VERSION="~> 5.0"
|
services: docker
|
||||||
- rvm: 2.1.9
|
sudo: required
|
||||||
bundler_args: --without system_tests
|
-
|
||||||
env: PUPPET_GEM_VERSION="~> 4.0"
|
env: CHECK=rubocop
|
||||||
|
-
|
||||||
|
env: CHECK="syntax lint"
|
||||||
|
-
|
||||||
|
env: CHECK=metadata_lint
|
||||||
|
-
|
||||||
|
rvm: 2.1.9
|
||||||
|
script: "bundle exec rake release_checks"
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
- /^v\d/
|
||||||
|
- release
|
||||||
notifications:
|
notifications:
|
||||||
email: false
|
email: false
|
||||||
|
deploy:
|
||||||
|
provider: puppetforge
|
||||||
|
user: puppet
|
||||||
|
password:
|
||||||
|
secure: ""
|
||||||
|
on:
|
||||||
|
tags: true
|
||||||
|
all_branches: true
|
||||||
|
condition: "$DEPLOY_TO_FORGE = yes"
|
||||||
|
|||||||
38
CHANGELOG.md
38
CHANGELOG.md
@@ -1,3 +1,38 @@
|
|||||||
|
## Supported Release [2.4.0]
|
||||||
|
### Summary
|
||||||
|
This release uses the PDK convert functionality which in return makes the module PDK compliant. Also includes a clean up from Rubocop.
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- 1.3.2 PDK convert has been applied [MODULES-6456](https://tickets.puppetlabs.com/browse/MODULES-6456)
|
||||||
|
- The modules has undergone a Rubocop cleanup.
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- $java_home for SLES 11.4 has been updated to the correct location.
|
||||||
|
|
||||||
|
## Supported Release [2.3.0]
|
||||||
|
### Summary
|
||||||
|
This release is in order to implement Rubocop changes into the module.
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Several Modulesync changes have been made.
|
||||||
|
- Rubocop has been implemented in the module.
|
||||||
|
- CentOS 7 is now supported.
|
||||||
|
- Red Hat Enterprise Linux (RHEL) 7 is now supported.
|
||||||
|
- Ubuntu artful 1710 now supported.
|
||||||
|
- Bionic 1804 now supported.
|
||||||
|
|
||||||
|
## Supported Release [2.2.0]
|
||||||
|
### Summary
|
||||||
|
This release is a maintenance release that includes a roll up of minor changes.
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Addition of Ubuntu for Oracle Java.
|
||||||
|
- Addition of Debian 9 in supported versions.
|
||||||
|
- Addition of OpenBSD case and use `realpath` rather than `readlink` in Java Default Home Facter fact.
|
||||||
|
|
||||||
|
#### Removed
|
||||||
|
- Removal of OpenBSD as a special case and deprecated `with_env` in Java Version Facter Facter fact.
|
||||||
|
|
||||||
## Supported Release 2.1.1
|
## Supported Release 2.1.1
|
||||||
### Summary
|
### Summary
|
||||||
This release is a maintenance release that includes a roll up of minor changes.
|
This release is a maintenance release that includes a roll up of minor changes.
|
||||||
@@ -256,3 +291,6 @@ Jeff McCune <jeff@puppetlabs.com>
|
|||||||
## 2011-05-24 - Version 0.0.1
|
## 2011-05-24 - Version 0.0.1
|
||||||
Jeff McCune <jeff@puppetlabs.com>
|
Jeff McCune <jeff@puppetlabs.com>
|
||||||
* Initial release
|
* Initial release
|
||||||
|
|
||||||
|
[2.3.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.2.0...2.3.0
|
||||||
|
[2.2.0]:https://github.com/puppetlabs/puppetlabs-java/compare/2.1.1...2.2.0
|
||||||
|
|||||||
166
Gemfile
166
Gemfile
@@ -1,76 +1,136 @@
|
|||||||
#This file is generated by ModuleSync, do not edit.
|
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
||||||
|
|
||||||
source ENV['GEM_SOURCE'] || "https://rubygems.org"
|
def location_for(place_or_version, fake_version = nil)
|
||||||
|
if place_or_version =~ %r{\A(git[:@][^#]*)#(.*)}
|
||||||
|
[fake_version, { git: Regexp.last_match(1), branch: Regexp.last_match(2), require: false }].compact
|
||||||
|
elsif place_or_version =~ %r{\Afile:\/\/(.*)}
|
||||||
|
['>= 0', { path: File.expand_path(Regexp.last_match(1)), require: false }]
|
||||||
|
else
|
||||||
|
[place_or_version, { require: false }]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Determines what type of gem is requested based on place_or_version.
|
|
||||||
def gem_type(place_or_version)
|
def gem_type(place_or_version)
|
||||||
if place_or_version =~ /^git:/
|
if place_or_version =~ %r{\Agit[:@]}
|
||||||
:git
|
:git
|
||||||
elsif place_or_version =~ /^file:/
|
elsif !place_or_version.nil? && place_or_version.start_with?('file:')
|
||||||
:file
|
:file
|
||||||
else
|
else
|
||||||
:gem
|
:gem
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Find a location or specific version for a gem. place_or_version can be a
|
|
||||||
# version, which is most often used. It can also be git, which is specified as
|
|
||||||
# `git://somewhere.git#branch`. You can also use a file source location, which
|
|
||||||
# is specified as `file://some/location/on/disk`.
|
|
||||||
def location_for(place_or_version, fake_version = nil)
|
|
||||||
if place_or_version =~ /^(git[:@][^#]*)#(.*)/
|
|
||||||
[fake_version, { :git => $1, :branch => $2, :require => false }].compact
|
|
||||||
elsif place_or_version =~ /^file:\/\/(.*)/
|
|
||||||
['>= 0', { :path => File.expand_path($1), :require => false }]
|
|
||||||
else
|
|
||||||
[place_or_version, { :require => false }]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Used for gem conditionals
|
|
||||||
supports_windows = false
|
|
||||||
ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments
|
ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments
|
||||||
minor_version = "#{ruby_version_segments[0]}.#{ruby_version_segments[1]}"
|
minor_version = ruby_version_segments[0..1].join('.')
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
gem "puppet-module-posix-default-r#{minor_version}", :require => false, :platforms => "ruby"
|
gem "fast_gettext", '1.1.0', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0')
|
||||||
gem "puppet-module-win-default-r#{minor_version}", :require => false, :platforms => ["mswin", "mingw", "x64_mingw"]
|
gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
|
||||||
gem "puppet-module-posix-dev-r#{minor_version}", :require => false, :platforms => "ruby"
|
gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
|
||||||
gem "puppet-module-win-dev-r#{minor_version}", '0.0.7', :require => false, :platforms => ["mswin", "mingw", "x64_mingw"]
|
gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
|
||||||
gem "json_pure", '<= 2.0.1', :require => false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
|
gem "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby]
|
||||||
gem "fast_gettext", '1.1.0', :require => false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0')
|
gem "puppet-module-posix-dev-r#{minor_version}", require: false, platforms: [:ruby]
|
||||||
gem "fast_gettext", :require => false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
|
gem "puppet-module-win-default-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
|
||||||
|
gem "puppet-module-win-dev-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
|
||||||
|
gem "puppet-blacksmith", '~> 3.4', require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
group :system_tests do
|
group :system_tests do
|
||||||
gem "puppet-module-posix-system-r#{minor_version}", :require => false, :platforms => "ruby"
|
gem "puppet-module-posix-system-r#{minor_version}", require: false, platforms: [:ruby]
|
||||||
gem "puppet-module-win-system-r#{minor_version}", :require => false, :platforms => ["mswin", "mingw", "x64_mingw"]
|
gem "puppet-module-win-system-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
|
||||||
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '>= 3')
|
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 3.13')
|
||||||
gem "beaker-pe", :require => false
|
|
||||||
gem "beaker-rspec", *location_for(ENV['BEAKER_RSPEC_VERSION'])
|
|
||||||
gem "beaker-hostgenerator", *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'])
|
|
||||||
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.1')
|
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.1')
|
||||||
gem "puppet-blacksmith", '~> 3.4', :require => false
|
gem "beaker-pe", require: false
|
||||||
|
gem "beaker-hostgenerator"
|
||||||
|
gem "beaker-rspec"
|
||||||
end
|
end
|
||||||
|
|
||||||
gem 'puppet', *location_for(ENV['PUPPET_GEM_VERSION'])
|
puppet_version = ENV['PUPPET_GEM_VERSION']
|
||||||
|
puppet_type = gem_type(puppet_version)
|
||||||
|
facter_version = ENV['FACTER_GEM_VERSION']
|
||||||
|
hiera_version = ENV['HIERA_GEM_VERSION']
|
||||||
|
|
||||||
# Only explicitly specify Facter/Hiera if a version has been specified.
|
def puppet_older_than?(version)
|
||||||
# Otherwise it can lead to strange bundler behavior. If you are seeing weird
|
puppet_version = ENV['PUPPET_GEM_VERSION']
|
||||||
# gem resolution behavior, try setting `DEBUG_RESOLVER` environment variable
|
!puppet_version.nil? &&
|
||||||
# to `1` and then run bundle install.
|
Gem::Version.correct?(puppet_version) &&
|
||||||
gem 'facter', *location_for(ENV['FACTER_GEM_VERSION']) if ENV['FACTER_GEM_VERSION']
|
Gem::Requirement.new("< #{version}").satisfied_by?(Gem::Version.new(puppet_version.dup))
|
||||||
gem 'hiera', *location_for(ENV['HIERA_GEM_VERSION']) if ENV['HIERA_GEM_VERSION']
|
|
||||||
|
|
||||||
|
|
||||||
# Evaluate Gemfile.local if it exists
|
|
||||||
if File.exists? "#{__FILE__}.local"
|
|
||||||
eval(File.read("#{__FILE__}.local"), binding)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Evaluate ~/.gemfile if it exists
|
gems = {}
|
||||||
if File.exists?(File.join(Dir.home, '.gemfile'))
|
|
||||||
eval(File.read(File.join(Dir.home, '.gemfile')), binding)
|
gems['puppet'] = location_for(puppet_version)
|
||||||
|
|
||||||
|
# If facter or hiera versions have been specified via the environment
|
||||||
|
# variables, use those versions. If not, and if the puppet version is < 3.5.0,
|
||||||
|
# use known good versions of both for puppet < 3.5.0.
|
||||||
|
if facter_version
|
||||||
|
gems['facter'] = location_for(facter_version)
|
||||||
|
elsif puppet_type == :gem && puppet_older_than?('3.5.0')
|
||||||
|
gems['facter'] = ['>= 1.6.11', '<= 1.7.5', require: false]
|
||||||
end
|
end
|
||||||
|
|
||||||
# vim:ft=ruby
|
if hiera_version
|
||||||
|
gems['hiera'] = location_for(ENV['HIERA_GEM_VERSION'])
|
||||||
|
elsif puppet_type == :gem && puppet_older_than?('3.5.0')
|
||||||
|
gems['hiera'] = ['>= 1.0.0', '<= 1.3.0', require: false]
|
||||||
|
end
|
||||||
|
|
||||||
|
if Gem.win_platform? && (puppet_type != :gem || puppet_older_than?('3.5.0'))
|
||||||
|
# For Puppet gems < 3.5.0 (tested as far back as 3.0.0) on Windows
|
||||||
|
if puppet_type == :gem
|
||||||
|
gems['ffi'] = ['1.9.0', require: false]
|
||||||
|
gems['minitar'] = ['0.5.4', require: false]
|
||||||
|
gems['win32-eventlog'] = ['0.5.3', '<= 0.6.5', require: false]
|
||||||
|
gems['win32-process'] = ['0.6.5', '<= 0.7.5', require: false]
|
||||||
|
gems['win32-security'] = ['~> 0.1.2', '<= 0.2.5', require: false]
|
||||||
|
gems['win32-service'] = ['0.7.2', '<= 0.8.8', require: false]
|
||||||
|
else
|
||||||
|
gems['ffi'] = ['~> 1.9.0', require: false]
|
||||||
|
gems['minitar'] = ['~> 0.5.4', require: false]
|
||||||
|
gems['win32-eventlog'] = ['~> 0.5', '<= 0.6.5', require: false]
|
||||||
|
gems['win32-process'] = ['~> 0.6', '<= 0.7.5', require: false]
|
||||||
|
gems['win32-security'] = ['~> 0.1', '<= 0.2.5', require: false]
|
||||||
|
gems['win32-service'] = ['~> 0.7', '<= 0.8.8', require: false]
|
||||||
|
end
|
||||||
|
|
||||||
|
gems['win32-dir'] = ['~> 0.3', '<= 0.4.9', require: false]
|
||||||
|
|
||||||
|
if RUBY_VERSION.start_with?('1.')
|
||||||
|
gems['win32console'] = ['1.3.2', require: false]
|
||||||
|
# sys-admin was removed in Puppet 3.7.0 and doesn't compile under Ruby 2.x
|
||||||
|
gems['sys-admin'] = ['1.5.6', require: false]
|
||||||
|
end
|
||||||
|
|
||||||
|
# Puppet < 3.7.0 requires these.
|
||||||
|
# Puppet >= 3.5.0 gem includes these as requirements.
|
||||||
|
# The following versions are tested to work with 3.0.0 <= puppet < 3.7.0.
|
||||||
|
gems['win32-api'] = ['1.4.8', require: false]
|
||||||
|
gems['win32-taskscheduler'] = ['0.2.2', require: false]
|
||||||
|
gems['windows-api'] = ['0.4.3', require: false]
|
||||||
|
gems['windows-pr'] = ['1.2.3', require: false]
|
||||||
|
elsif Gem.win_platform?
|
||||||
|
# If we're using a Puppet gem on Windows which handles its own win32-xxx gem
|
||||||
|
# dependencies (>= 3.5.0), set the maximum versions (see PUP-6445).
|
||||||
|
gems['win32-dir'] = ['<= 0.4.9', require: false]
|
||||||
|
gems['win32-eventlog'] = ['<= 0.6.5', require: false]
|
||||||
|
gems['win32-process'] = ['<= 0.7.5', require: false]
|
||||||
|
gems['win32-security'] = ['<= 0.2.5', require: false]
|
||||||
|
gems['win32-service'] = ['<= 0.8.8', require: false]
|
||||||
|
end
|
||||||
|
|
||||||
|
gems.each do |gem_name, gem_params|
|
||||||
|
gem gem_name, *gem_params
|
||||||
|
end
|
||||||
|
|
||||||
|
# Evaluate Gemfile.local and ~/.gemfile if they exist
|
||||||
|
extra_gemfiles = [
|
||||||
|
"#{__FILE__}.local",
|
||||||
|
File.join(Dir.home, '.gemfile'),
|
||||||
|
]
|
||||||
|
|
||||||
|
extra_gemfiles.each do |gemfile|
|
||||||
|
if File.file?(gemfile) && File.readable?(gemfile)
|
||||||
|
eval(File.read(gemfile), binding)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
# vim: syntax=ruby
|
||||||
|
|||||||
2
NOTICE
2
NOTICE
@@ -1,6 +1,6 @@
|
|||||||
Puppet Module - puppetlabs-java
|
Puppet Module - puppetlabs-java
|
||||||
|
|
||||||
Copyright 2017 Puppet, Inc.
|
Copyright 2018 Puppet, Inc.
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
|||||||
@@ -202,6 +202,8 @@ Sun Java is supported on:
|
|||||||
Oracle Java is supported on:
|
Oracle Java is supported on:
|
||||||
|
|
||||||
* CentOS 6
|
* CentOS 6
|
||||||
|
* CentOS 7
|
||||||
|
* Red Hat Enterprise Linux (RHEL) 7
|
||||||
|
|
||||||
### Known issues
|
### Known issues
|
||||||
|
|
||||||
|
|||||||
38
Rakefile
38
Rakefile
@@ -1,37 +1,3 @@
|
|||||||
require 'puppetlabs_spec_helper/rake_tasks'
|
require 'puppetlabs_spec_helper/rake_tasks'
|
||||||
require 'puppet-lint/tasks/puppet-lint'
|
require 'puppet-syntax/tasks/puppet-syntax'
|
||||||
require 'puppet_blacksmith/rake_tasks' if Bundler.rubygems.find_name('puppet-blacksmith').any?
|
require 'puppet_blacksmith/rake_tasks'
|
||||||
|
|
||||||
PuppetLint.configuration.fail_on_warnings = true
|
|
||||||
PuppetLint.configuration.send('relative')
|
|
||||||
|
|
||||||
desc 'Generate pooler nodesets'
|
|
||||||
task :gen_nodeset do
|
|
||||||
require 'beaker-hostgenerator'
|
|
||||||
require 'securerandom'
|
|
||||||
require 'fileutils'
|
|
||||||
|
|
||||||
agent_target = ENV['TEST_TARGET']
|
|
||||||
if ! agent_target
|
|
||||||
STDERR.puts 'TEST_TARGET environment variable is not set'
|
|
||||||
STDERR.puts 'setting to default value of "redhat-64default."'
|
|
||||||
agent_target = 'redhat-64default.'
|
|
||||||
end
|
|
||||||
|
|
||||||
master_target = ENV['MASTER_TEST_TARGET']
|
|
||||||
if ! master_target
|
|
||||||
STDERR.puts 'MASTER_TEST_TARGET environment variable is not set'
|
|
||||||
STDERR.puts 'setting to default value of "redhat7-64mdcl"'
|
|
||||||
master_target = 'redhat7-64mdcl'
|
|
||||||
end
|
|
||||||
|
|
||||||
targets = "#{master_target}-#{agent_target}"
|
|
||||||
cli = BeakerHostGenerator::CLI.new([targets])
|
|
||||||
nodeset_dir = "tmp/nodesets"
|
|
||||||
nodeset = "#{nodeset_dir}/#{targets}-#{SecureRandom.uuid}.yaml"
|
|
||||||
FileUtils.mkdir_p(nodeset_dir)
|
|
||||||
File.open(nodeset, 'w') do |fh|
|
|
||||||
fh.print(cli.execute)
|
|
||||||
end
|
|
||||||
puts nodeset
|
|
||||||
end
|
|
||||||
|
|||||||
@@ -3,25 +3,28 @@
|
|||||||
# Purpose: get absolute path of java system home
|
# Purpose: get absolute path of java system home
|
||||||
#
|
#
|
||||||
# Resolution:
|
# Resolution:
|
||||||
# Uses `readlink` to resolve the path of `/usr/bin/java` then returns subsubdir
|
# Find the real java binary, and return the subsubdir
|
||||||
#
|
#
|
||||||
# Caveats:
|
# Caveats:
|
||||||
# Requires readlink
|
# java binary has to be found in $PATH
|
||||||
#
|
#
|
||||||
# Notes:
|
# Notes:
|
||||||
# None
|
# None
|
||||||
Facter.add(:java_default_home) do
|
Facter.add(:java_default_home) do
|
||||||
confine :kernel => 'Linux'
|
confine kernel: %w[Linux OpenBSD]
|
||||||
|
java_default_home = nil
|
||||||
setcode do
|
setcode do
|
||||||
if Facter::Util::Resolution.which('readlink')
|
java_bin = Facter::Util::Resolution.which('java').to_s.strip
|
||||||
java_bin = Facter::Util::Resolution.exec('readlink -e /usr/bin/java').strip
|
if java_bin.empty?
|
||||||
if java_bin.empty?
|
nil
|
||||||
nil
|
else
|
||||||
elsif java_bin =~ %r(/jre/)
|
java_path = File.realpath(java_bin)
|
||||||
java_default_home = File.dirname(File.dirname(File.dirname(java_bin)))
|
java_default_home = if java_path =~ %r{/jre/}
|
||||||
else
|
File.dirname(File.dirname(File.dirname(java_path)))
|
||||||
java_default_home = File.dirname(File.dirname(java_bin))
|
else
|
||||||
end
|
File.dirname(File.dirname(java_path))
|
||||||
|
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"
|
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
|
||||||
@@ -21,10 +21,10 @@ Facter.add(:java_version) do
|
|||||||
# Additionally, facter versions prior to 2.0.1 only support
|
# Additionally, facter versions prior to 2.0.1 only support
|
||||||
# positive matches, so this needs to be done manually in setcode.
|
# positive matches, so this needs to be done manually in setcode.
|
||||||
setcode do
|
setcode do
|
||||||
unless [ 'openbsd', '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,26 +32,12 @@ Facter.add(:java_version) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
Facter.add(:java_version) do
|
Facter.add(:java_version) do
|
||||||
confine :operatingsystem => 'OpenBSD'
|
confine operatingsystem: 'Darwin'
|
||||||
has_weight 100
|
has_weight 100
|
||||||
setcode do
|
setcode do
|
||||||
Facter::Util::Resolution.with_env("PATH" => '/usr/local/jdk-1.7.0/jre/bin:/usr/local/jre-1.7.0/bin') do
|
unless %r{Unable to find any JVMs matching version} =~ Facter::Util::Resolution.exec('/usr/libexec/java_home --failfast 2>&1')
|
||||||
version = nil
|
version = nil
|
||||||
if Facter::Util::Resolution.which('java')
|
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = $LAST_MATCH_INFO[1] if %r{^.+ version \"(.+)\"$} =~ line }
|
||||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = $~[1] if /^.+ version \"(.+)\"$/ =~ line }
|
|
||||||
end
|
|
||||||
version
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
Facter.add(:java_version) do
|
|
||||||
confine :operatingsystem => 'Darwin'
|
|
||||||
has_weight 100
|
|
||||||
setcode do
|
|
||||||
unless /Unable to find any JVMs matching version/ =~ Facter::Util::Resolution.exec('/usr/libexec/java_home --failfast 2>&1')
|
|
||||||
version = nil
|
|
||||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = $~[1] if /^.+ version \"(.+)\"$/ =~ line }
|
|
||||||
version
|
version
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class java::config ( ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'OpenBSD', 'FreeBSD', 'Suse': {
|
'FreeBSD', 'Suse': {
|
||||||
if $java::use_java_home != undef {
|
if $java::use_java_home != undef {
|
||||||
file_line { 'java-home-environment':
|
file_line { 'java-home-environment':
|
||||||
path => '/etc/environment',
|
path => '/etc/environment',
|
||||||
|
|||||||
@@ -166,6 +166,11 @@ define java::oracle (
|
|||||||
} else {
|
} else {
|
||||||
$package_type = 'rpm'
|
$package_type = 'rpm'
|
||||||
}
|
}
|
||||||
|
$creates_path = "/usr/java/${install_path}"
|
||||||
|
}
|
||||||
|
'Debian' : {
|
||||||
|
$package_type = 'tar.gz'
|
||||||
|
$creates_path = "/usr/lib/jvm/${install_path}"
|
||||||
}
|
}
|
||||||
default : {
|
default : {
|
||||||
fail ("unsupported platform ${$facts['os']['name']}") }
|
fail ("unsupported platform ${$facts['os']['name']}") }
|
||||||
@@ -173,7 +178,6 @@ define java::oracle (
|
|||||||
|
|
||||||
$os = 'linux'
|
$os = 'linux'
|
||||||
$destination_dir = '/tmp/'
|
$destination_dir = '/tmp/'
|
||||||
$creates_path = "/usr/java/${install_path}"
|
|
||||||
}
|
}
|
||||||
default : {
|
default : {
|
||||||
fail ( "unsupported platform ${$facts['kernel']}" ) }
|
fail ( "unsupported platform ${$facts['kernel']}" ) }
|
||||||
@@ -183,6 +187,7 @@ define java::oracle (
|
|||||||
case $facts['os']['architecture'] {
|
case $facts['os']['architecture'] {
|
||||||
'i386' : { $arch = 'i586' }
|
'i386' : { $arch = 'i586' }
|
||||||
'x86_64' : { $arch = 'x64' }
|
'x86_64' : { $arch = 'x64' }
|
||||||
|
'amd64' : { $arch = 'x64' }
|
||||||
default : {
|
default : {
|
||||||
fail ("unsupported platform ${$facts['os']['architecture']}")
|
fail ("unsupported platform ${$facts['os']['architecture']}")
|
||||||
}
|
}
|
||||||
@@ -205,6 +210,9 @@ define java::oracle (
|
|||||||
'rpm' : {
|
'rpm' : {
|
||||||
$package_name = "${java_se}-${release_major}-${os}-${arch}.rpm"
|
$package_name = "${java_se}-${release_major}-${os}-${arch}.rpm"
|
||||||
}
|
}
|
||||||
|
'tar.gz' : {
|
||||||
|
$package_name = "${java_se}-${release_major}-${os}-${arch}.tar.gz"
|
||||||
|
}
|
||||||
default : {
|
default : {
|
||||||
$package_name = "${java_se}-${release_major}-${os}-${arch}.rpm"
|
$package_name = "${java_se}-${release_major}-${os}-${arch}.rpm"
|
||||||
}
|
}
|
||||||
@@ -235,6 +243,9 @@ define java::oracle (
|
|||||||
'rpm' : {
|
'rpm' : {
|
||||||
$install_command = "rpm --force -iv ${destination}"
|
$install_command = "rpm --force -iv ${destination}"
|
||||||
}
|
}
|
||||||
|
'tar.gz' : {
|
||||||
|
$install_command = "tar -zxf ${destination} -C /usr/lib/jvm"
|
||||||
|
}
|
||||||
default : {
|
default : {
|
||||||
$install_command = "rpm -iv ${destination}"
|
$install_command = "rpm -iv ${destination}"
|
||||||
}
|
}
|
||||||
@@ -260,6 +271,15 @@ define java::oracle (
|
|||||||
creates => $creates_path,
|
creates => $creates_path,
|
||||||
require => Archive[$destination]
|
require => Archive[$destination]
|
||||||
}
|
}
|
||||||
|
case $facts['os']['family'] {
|
||||||
|
'Debian' : {
|
||||||
|
file{'/usr/lib/jvm':
|
||||||
|
ensure => directory,
|
||||||
|
before => Exec["Install Oracle java_se ${java_se} ${version}"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default : { }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
default : {
|
default : {
|
||||||
fail ("unsupported platform ${$facts['kernel']}")
|
fail ("unsupported platform ${$facts['kernel']}")
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ class java::params {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'stretch', 'vivid', 'wily', 'xenial', 'yakkety', 'zesty': {
|
'stretch', 'vivid', 'wily', 'xenial', 'yakkety', 'zesty', 'artful', 'bionic': {
|
||||||
$java = {
|
$java = {
|
||||||
'jdk' => {
|
'jdk' => {
|
||||||
'package' => 'openjdk-8-jdk',
|
'package' => 'openjdk-8-jdk',
|
||||||
@@ -224,7 +224,7 @@ class java::params {
|
|||||||
} elsif (versioncmp($::operatingsystemrelease, '11.4') >= 0) {
|
} elsif (versioncmp($::operatingsystemrelease, '11.4') >= 0) {
|
||||||
$jdk_package = 'java-1_7_1-ibm-devel'
|
$jdk_package = 'java-1_7_1-ibm-devel'
|
||||||
$jre_package = 'java-1_7_1-ibm'
|
$jre_package = 'java-1_7_1-ibm'
|
||||||
$java_home = '/usr/lib64/jvm/java-1.7.0-ibm-1.7.0/'
|
$java_home = '/usr/lib64/jvm/java-1.7.1-ibm-1.7.1/'
|
||||||
} else {
|
} else {
|
||||||
$jdk_package = 'java-1_6_0-ibm-devel'
|
$jdk_package = 'java-1_6_0-ibm-devel'
|
||||||
$jre_package = 'java-1_6_0-ibm'
|
$jre_package = 'java-1_6_0-ibm'
|
||||||
|
|||||||
@@ -1,12 +1,22 @@
|
|||||||
{
|
{
|
||||||
"name": "puppetlabs-java",
|
"name": "puppetlabs-java",
|
||||||
"version": "2.1.1",
|
"version": "2.4.0",
|
||||||
"author": "puppetlabs",
|
"author": "puppetlabs",
|
||||||
"summary": "Installs the correct Java package on various platforms.",
|
"summary": "Installs the correct Java package on various platforms.",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"source": "git://github.com/puppetlabs/puppetlabs-java",
|
"source": "git://github.com/puppetlabs/puppetlabs-java",
|
||||||
"project_page": "https://github.com/puppetlabs/puppetlabs-java",
|
"project_page": "https://github.com/puppetlabs/puppetlabs-java",
|
||||||
"issues_url": "https://tickets.puppet.com/CreateIssueDetails!init.jspa?pid=10707&issuetype=1&team=Modules&customfield_14200=14302&labels=triage&customfield_10005=2147&summary=Issue+found+with+module%3A+puppetlabs-java",
|
"issues_url": "https://tickets.puppet.com/CreateIssueDetails!init.jspa?pid=10707&issuetype=1&team=Modules&customfield_14200=14302&labels=triage&customfield_10005=2147&summary=Issue+found+with+module%3A+puppetlabs-java",
|
||||||
|
"dependencies": [
|
||||||
|
{
|
||||||
|
"name": "puppetlabs/stdlib",
|
||||||
|
"version_requirement": ">= 4.13.1 < 5.0.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "puppet/archive",
|
||||||
|
"version_requirement": ">= 1.1.0 < 3.0.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
"operatingsystem_support": [
|
"operatingsystem_support": [
|
||||||
{
|
{
|
||||||
"operatingsystem": "RedHat",
|
"operatingsystem": "RedHat",
|
||||||
@@ -50,7 +60,8 @@
|
|||||||
"operatingsystem": "Debian",
|
"operatingsystem": "Debian",
|
||||||
"operatingsystemrelease": [
|
"operatingsystemrelease": [
|
||||||
"7",
|
"7",
|
||||||
"8"
|
"8",
|
||||||
|
"9"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -85,14 +96,6 @@
|
|||||||
"version_requirement": ">= 4.7.0 < 6.0.0"
|
"version_requirement": ">= 4.7.0 < 6.0.0"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": [
|
"template-url": "https://github.com/puppetlabs/pdk-templates",
|
||||||
{
|
"template-ref": "1.3.2-0-g07678c8"
|
||||||
"name":"puppetlabs/stdlib",
|
|
||||||
"version_requirement": ">= 4.13.1 < 5.0.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name":"puppet/archive",
|
|
||||||
"version_requirement": ">= 1.1.0 < 3.0.0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
require 'spec_helper_acceptance'
|
require 'spec_helper_acceptance'
|
||||||
|
|
||||||
#RedHat, CentOS, Scientific, Oracle prior to 5.0 : Sun Java JDK/JRE 1.6
|
# RedHat, CentOS, Scientific, Oracle prior to 5.0 : Sun Java JDK/JRE 1.6
|
||||||
#RedHat, CentOS, Scientific, Oracle 5.0 < x < 6.3 : OpenJDK Java JDK/JRE 1.6
|
# RedHat, CentOS, Scientific, Oracle 5.0 < x < 6.3 : OpenJDK Java JDK/JRE 1.6
|
||||||
#RedHat, CentOS, Scientific, Oracle after 6.3 : OpenJDK Java JDK/JRE 1.7
|
# RedHat, CentOS, Scientific, Oracle after 6.3 : OpenJDK Java JDK/JRE 1.7
|
||||||
#Debian 5/6 & Ubuntu 10.04/11.04 : OpenJDK Java JDK/JRE 1.6 or Sun Java JDK/JRE 1.6
|
# Debian 5/6 & Ubuntu 10.04/11.04 : OpenJDK Java JDK/JRE 1.6 or Sun Java JDK/JRE 1.6
|
||||||
#Debian 7/Jesse & Ubuntu 12.04 - 14.04 : OpenJDK Java JDK/JRE 1.7 or Oracle Java JDK/JRE 1.6
|
# Debian 7/Jesse & Ubuntu 12.04 - 14.04 : OpenJDK Java JDK/JRE 1.7 or Oracle Java JDK/JRE 1.6
|
||||||
#Solaris (what versions?) : Java JDK/JRE 1.7
|
# Solaris (what versions?) : Java JDK/JRE 1.7
|
||||||
#OpenSuSE : OpenJDK Java JDK/JRE 1.7
|
# OpenSuSE : OpenJDK Java JDK/JRE 1.7
|
||||||
#SLES : IBM Java JDK/JRE 1.6
|
# SLES : IBM Java JDK/JRE 1.6
|
||||||
|
|
||||||
# C14677
|
# C14677
|
||||||
# C14678
|
# C14678
|
||||||
@@ -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
|
|
||||||
|
|
||||||
# With the version of java that ships with pe on debian wheezy, update-alternatives
|
java_class_jre = "class { 'java':\n"\
|
||||||
# throws an error on the first run due to missing alternative for policytool. It still
|
" distribution => 'jre',\n"\
|
||||||
# updates the alternatives for java
|
'}'
|
||||||
if fact('operatingsystem') == 'Debian' and fact('lsbdistcodename') == 'wheezy'
|
|
||||||
apply_manifest(pp)
|
|
||||||
else
|
|
||||||
apply_manifest(pp, :catch_failures => true)
|
|
||||||
end
|
|
||||||
apply_manifest(pp, :catch_changes => true)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
describe "jdk" do
|
|
||||||
it 'should install jdk' do
|
|
||||||
pp = <<-EOS
|
|
||||||
class { 'java': }
|
|
||||||
EOS
|
|
||||||
|
|
||||||
apply_manifest(pp, :catch_failures => true)
|
java_class = "class { 'java': }"
|
||||||
apply_manifest(pp, :catch_changes => true)
|
|
||||||
end
|
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
|
||||||
|
# throws an error on the first run due to missing alternative for policytool. It still
|
||||||
|
# updates the alternatives for java
|
||||||
|
if fact('operatingsystem') == 'Debian' && fact('lsbdistcodename') == 'wheezy'
|
||||||
|
apply_manifest(pp)
|
||||||
|
else
|
||||||
|
apply_manifest(pp, catch_failures: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'installing java jre', unless: UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
|
||||||
|
it 'installs jre' do
|
||||||
|
apply_manifest_wheezy_case(java_class_jre)
|
||||||
|
apply_manifest(java_class_jre, catch_changes: true)
|
||||||
|
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
|
||||||
|
|
||||||
# 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 'with 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 'when select openjdk for Centos 5.8' do
|
||||||
|
let(:facts) { { osfamily: 'RedHat', operatingsystem: 'Centos', operatingsystemrelease: '5.8', architecture: 'x86_64' } }
|
||||||
|
|
||||||
context 'select openjdk for Centos 5.8' do
|
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.8', :architecture => 'x86_64'} }
|
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
it { is_expected.to contain_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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when select openjdk for Amazon Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Amazon', :operatingsystemrelease => '3.4.43-43.43.amzn1.x86_64', :architecture => 'x86_64'} }
|
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 'when select passed value for Amazon Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Amazon', :operatingsystemrelease => '5.3.4.43-43.43.amzn1.x86_64', :architecture => 'x86_64'} }
|
let(: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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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 'when 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_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_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.1-ibm-1.7.1/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for SLES 12.0' do
|
context 'when select default for SLES 12.0' do
|
||||||
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '12.0', :operatingsystemmajrelease => '12', :architecture => 'x86_64'}}
|
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 'when 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 'when 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 contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/local/jdk/') }
|
it { is_expected.not_to contain_file_line('java-home-environment') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select jre for OpenBSD' do
|
context 'when 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
|
|
||||||
let(:params) { {
|
context 'when all params provided' do
|
||||||
'distribution' => 'custom',
|
let(:params) do
|
||||||
'package' => 'custom_jdk',
|
{
|
||||||
'java_alternative' => 'java-custom_jdk',
|
'distribution' => 'custom',
|
||||||
'java_alternative_path' => '/opt/custom_jdk/bin/java',
|
'package' => 'custom_jdk',
|
||||||
'java_home' => '/opt/custom_jdk',
|
'java_alternative' => 'java-custom_jdk',
|
||||||
} }
|
'java_alternative_path' => '/opt/custom_jdk/bin/java',
|
||||||
|
'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 'with missing parameters' do
|
||||||
let(:params) { {
|
let(:params) do
|
||||||
'distribution' => 'custom',
|
{
|
||||||
'package' => 'custom_jdk',
|
'distribution' => 'custom',
|
||||||
} }
|
'package' => 'custom_jdk',
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
it do
|
it do
|
||||||
expect { catalogue }.to raise_error Puppet::Error, /is not supported. Missing default values/
|
expect { catalogue }.to raise_error Puppet::Error, %r{is not supported. Missing default values}
|
||||||
end
|
end
|
||||||
end
|
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,197 +1,285 @@
|
|||||||
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'
|
||||||
context 'On CentOS 64-bit' do
|
|
||||||
let(:facts) { { :kernel => 'Linux', :os => {:family => 'RedHat', :architecture => 'x86_64', :name => 'CentOS', :release => {:full => '6.0'}}}}
|
|
||||||
|
|
||||||
context 'Oracle Java SE 6 JDK' do
|
describe 'java::oracle', type: :define do
|
||||||
let(:params) { {:ensure => 'present', :version => '6', :java_se => 'jdk'} }
|
context 'with CentOS 64-bit' do
|
||||||
let :title do 'jdk6' end
|
let(:facts) { { kernel: 'Linux', os: { family: 'RedHat', architecture: 'x86_64', name: 'CentOS', release: { full: '6.0' } } } }
|
||||||
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') }
|
context 'when Oracle Java SE 6 JDK' do
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 6').that_requires('Archive[/tmp/jdk-6u45-linux-x64-rpm.bin]') }
|
let(:params) { { ensure: 'present', version: '6', java_se: 'jdk' } }
|
||||||
|
let(:title) { 'jdk6' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jdk-6u45-linux-x64-rpm.bin]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when Oracle Java SE 7 JDK' do
|
||||||
|
let(:params) { { ensure: 'present', version: '7', java_se: 'jdk' } }
|
||||||
|
let(:title) { 'jdk7' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jdk-7u80-linux-x64.rpm]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when Oracle Java SE 8 JDK' do
|
||||||
|
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
|
||||||
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jdk-8u131-linux-x64.rpm]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when Oracle Java SE 6 JRE' do
|
||||||
|
let(:params) { { ensure: 'present', version: '6', java_se: 'jre' } }
|
||||||
|
let(:title) { 'jre6' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jre-6u45-linux-x64-rpm.bin]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when Oracle Java SE 7 JRE' do
|
||||||
|
let(:params) { { ensure: 'present', version: '7', java_se: 'jre' } }
|
||||||
|
let(:title) { 'jre7' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jre-7u80-linux-x64.rpm]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when select Oracle Java SE 8 JRE' do
|
||||||
|
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
|
||||||
|
let(:title) { 'jre8' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jre-8u131-linux-x64.rpm]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when passing URL to url parameter' do
|
||||||
|
let(:params) do
|
||||||
|
{
|
||||||
|
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.rpm',
|
||||||
|
url_hash: 'ignored',
|
||||||
|
}
|
||||||
end
|
end
|
||||||
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
context 'Oracle Java SE 7 JDK' do
|
it {
|
||||||
let(:params) { {:ensure => 'present', :version => '7', :java_se => 'jdk'} }
|
is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.rpm')
|
||||||
let :title do 'jdk7' end
|
.with_source('http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-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') }
|
end
|
||||||
it { is_expected.to contain_exec('Install Oracle java_se jdk 7').that_requires('Archive[/tmp/jdk-7u80-linux-x64.rpm]') }
|
|
||||||
|
context 'when passing a hash to url_hash parameter' do
|
||||||
|
let(:params) do
|
||||||
|
{
|
||||||
|
ensure: 'present',
|
||||||
|
version_major: '8u131',
|
||||||
|
version_minor: 'b11',
|
||||||
|
java_se: 'jdk',
|
||||||
|
url_hash: 'abcdef01234567890',
|
||||||
|
}
|
||||||
end
|
end
|
||||||
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
context 'Oracle Java SE 8 JDK' do
|
|
||||||
let(:params) { {:ensure => 'present', :version => '8', :java_se => 'jdk'} }
|
|
||||||
let :title do 'jdk8' end
|
|
||||||
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').that_requires('Archive[/tmp/jdk-8u131-linux-x64.rpm]') }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'Oracle Java SE 6 JRE' do
|
|
||||||
let(:params) { {:ensure => 'present', :version => '6', :java_se => 'jre'} }
|
|
||||||
let :title do 'jre6' end
|
|
||||||
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').that_requires('Archive[/tmp/jre-6u45-linux-x64-rpm.bin]') }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'Oracle Java SE 7 JRE' do
|
|
||||||
let(:params) { {:ensure => 'present', :version => '7', :java_se => 'jre'} }
|
|
||||||
let :title do 'jre7' end
|
|
||||||
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').that_requires('Archive[/tmp/jre-7u80-linux-x64.rpm]') }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'select Oracle Java SE 8 JRE' do
|
|
||||||
let(:params) { {:ensure => 'present', :version => '8', :java_se => 'jre'} }
|
|
||||||
let :title do 'jre8' end
|
|
||||||
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').that_requires('Archive[/tmp/jre-8u131-linux-x64.rpm]') }
|
|
||||||
end
|
|
||||||
|
|
||||||
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.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
|
|
||||||
|
|
||||||
context 'Pass a hash to url_hash parameter' do
|
|
||||||
let(:params) { {
|
|
||||||
:ensure => 'present',
|
|
||||||
:version_major => '8u131',
|
|
||||||
:version_minor => 'b11',
|
|
||||||
:java_se => 'jdk',
|
|
||||||
:url_hash => 'abcdef01234567890',
|
|
||||||
} }
|
|
||||||
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/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 'when 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 'when selecting 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_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_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]') }
|
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]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java SE 7 JDK on RedHat family, 32-bit' do
|
context 'when selecting Oracle Java SE 7 JDK on RedHat family, 32-bit' do
|
||||||
let(:params) { {:ensure => 'present', :version => '7', :java_se => 'jdk'} }
|
let(: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_exec('Install Oracle java_se jdk 7').with_command('rpm --force -iv /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').that_requires('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').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 'when selecting 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_exec('Install Oracle java_se jdk 8').with_command('rpm --force -iv /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').that_requires('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').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 'when selecting 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_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_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]') }
|
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]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java SE 7 JRE on RedHat family, 32-bit' do
|
context 'when select Oracle Java SE 7 JRE on RedHat family, 32-bit' do
|
||||||
let(:params) { {:ensure => 'present', :version => '7', :java_se => 'jre'} }
|
let(: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_exec('Install Oracle java_se jre 7').with_command('rpm --force -iv /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').that_requires('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').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 'when 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_exec('Install Oracle java_se jre 8').with_command('rpm --force -iv /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').that_requires('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').that_requires('Archive[/tmp/jre-8u131-linux-i586.rpm]') }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with Ubuntu 64-bit' do
|
||||||
|
let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '16.04' } } } }
|
||||||
|
|
||||||
|
context 'when Oracle Java SE 6 JDK' do
|
||||||
|
let(:params) { { ensure: 'present', version: '6', java_se: 'jdk' } }
|
||||||
|
let(:title) { 'jdk6' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jdk-6u45-linux-x64.tar.gz]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with Oracle Java SE 7 JDK' do
|
||||||
|
let(:params) { { ensure: 'present', version: '7', java_se: 'jdk' } }
|
||||||
|
let(:title) { 'jdk7' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jdk-7u80-linux-x64.tar.gz]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with Oracle Java SE 8 JDK' do
|
||||||
|
let(:params) { { ensure: 'present', version: '8', java_se: 'jdk' } }
|
||||||
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jdk-8u131-linux-x64.tar.gz]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with Oracle Java SE 6 JRE' do
|
||||||
|
let(:params) { { ensure: 'present', version: '6', java_se: 'jre' } }
|
||||||
|
let(:title) { 'jre6' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jre-6u45-linux-x64.tar.gz]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when Oracle Java SE 7 JRE' do
|
||||||
|
let(:params) { { ensure: 'present', version: '7', java_se: 'jre' } }
|
||||||
|
let(:title) { 'jre7' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jre-7u80-linux-x64.tar.gz]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when Oracle Java SE 8 JRE' do
|
||||||
|
let(:params) { { ensure: 'present', version: '8', java_se: 'jre' } }
|
||||||
|
let(:title) { 'jre8' }
|
||||||
|
|
||||||
|
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').that_requires('Archive[/tmp/jre-8u131-linux-x64.tar.gz]') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when passing URL to url parameter' do
|
||||||
|
let(:params) { { ensure: 'present', version_major: '8u131', version_minor: 'b11', java_se: 'jdk', url: oracle_url.to_s } }
|
||||||
|
let(:title) { 'jdk8' }
|
||||||
|
|
||||||
|
it { is_expected.to contain_archive('/tmp/jdk-8u131-linux-x64.tar.gz') }
|
||||||
|
end
|
||||||
|
end
|
||||||
describe 'incompatible OSes' do
|
describe 'incompatible OSes' 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
|
||||||
|
|||||||
@@ -1,8 +1,23 @@
|
|||||||
#This file is generated by ModuleSync, do not edit.
|
|
||||||
require 'puppetlabs_spec_helper/module_spec_helper'
|
require 'puppetlabs_spec_helper/module_spec_helper'
|
||||||
|
require 'rspec-puppet-facts'
|
||||||
|
include RspecPuppetFacts
|
||||||
|
|
||||||
# put local configuration and setup into spec_helper_local
|
default_facts = {
|
||||||
begin
|
puppetversion: Puppet.version,
|
||||||
require 'spec_helper_local'
|
facterversion: Facter.version,
|
||||||
rescue LoadError
|
}
|
||||||
|
|
||||||
|
default_facts_path = File.expand_path(File.join(File.dirname(__FILE__), 'default_facts.yml'))
|
||||||
|
default_module_facts_path = File.expand_path(File.join(File.dirname(__FILE__), 'default_module_facts.yml'))
|
||||||
|
|
||||||
|
if File.exist?(default_facts_path) && File.readable?(default_facts_path)
|
||||||
|
default_facts.merge!(YAML.safe_load(File.read(default_facts_path)))
|
||||||
|
end
|
||||||
|
|
||||||
|
if File.exist?(default_module_facts_path) && File.readable?(default_module_facts_path)
|
||||||
|
default_facts.merge!(YAML.safe_load(File.read(default_module_facts_path)))
|
||||||
|
end
|
||||||
|
|
||||||
|
RSpec.configure do |c|
|
||||||
|
c.default_facts = default_facts
|
||||||
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,49 +1,54 @@
|
|||||||
require "spec_helper"
|
require 'spec_helper'
|
||||||
|
|
||||||
describe Facter::Util::Fact do
|
java_7_path = '/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'
|
||||||
before {
|
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)
|
||||||
|
if File.symlink?(filename)
|
||||||
|
File.unlink(filename)
|
||||||
|
end
|
||||||
|
return unless File.exist?(filename)
|
||||||
|
File.delete(filename)
|
||||||
|
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
|
||||||
|
|
||||||
|
describe 'java_default_home' do
|
||||||
|
before(:each) do
|
||||||
Facter.clear
|
Facter.clear
|
||||||
Facter.fact(:kernel).stubs(:value).returns('Linux')
|
Facter.fact(:kernel).stubs(:value).returns('Linux')
|
||||||
}
|
end
|
||||||
|
|
||||||
describe "java_default_home" do
|
context 'when java found in PATH' do
|
||||||
context 'returns java home path when readlink present' do
|
context 'when java is in /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java' do
|
||||||
context 'when java is in HOME/jre/bin/java' do
|
|
||||||
it do
|
|
||||||
java_path_output = <<-EOS
|
|
||||||
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
|
|
||||||
EOS
|
|
||||||
Facter::Util::Resolution.expects(:which).with("readlink").returns(true)
|
|
||||||
Facter::Util::Resolution.expects(:exec).with("readlink -e /usr/bin/java").returns(java_path_output)
|
|
||||||
expect(Facter.value(:java_default_home)).to eql "/usr/lib/jvm/java-7-openjdk-amd64"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
context 'when java is in HOME/bin/java' do
|
|
||||||
it do
|
|
||||||
java_path_output = <<-EOS
|
|
||||||
/usr/lib/jvm/oracle-java8-jre-amd64/bin/java
|
|
||||||
EOS
|
|
||||||
Facter::Util::Resolution.expects(:which).with("readlink").returns(true)
|
|
||||||
Facter::Util::Resolution.expects(:exec).with("readlink -e /usr/bin/java").returns(java_path_output)
|
|
||||||
expect(Facter.value(:java_default_home)).to eql "/usr/lib/jvm/oracle-java8-jre-amd64"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
context 'returns nil when readlink is present but java is not' do
|
|
||||||
it do
|
it do
|
||||||
java_path_output = ""
|
unlink_and_delete('./java_test')
|
||||||
Facter::Util::Resolution.expects(:which).with("readlink").returns(true)
|
symlink_and_test(java_7_path, java_7_home)
|
||||||
Facter::Util::Resolution.expects(:exec).with("readlink -e /usr/bin/java").returns(java_path_output)
|
unlink_and_delete('./java_test')
|
||||||
expect(Facter.value(:java_default_home)).to be_nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'returns nil when readlink not present' do
|
context 'when java is in /usr/lib/jvm/oracle-java8-jre-amd64/bin/java' do
|
||||||
it do
|
it do
|
||||||
Facter::Util::Resolution.stubs(:exec)
|
unlink_and_delete('./java_test')
|
||||||
Facter::Util::Resolution.expects(:which).with("readlink").at_least(1).returns(false)
|
symlink_and_test(java_8_path, java_8_home)
|
||||||
expect(Facter.value(:java_default_home)).to be_nil
|
unlink_and_delete('./java_test')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when java not present, return nil' do
|
||||||
|
it do
|
||||||
|
Facter::Util::Resolution.stubs(:exec)
|
||||||
|
Facter::Util::Resolution.expects(:which).with('java').at_least(1).returns(false)
|
||||||
|
expect(Facter.value(:java_default_home)).to be_nil
|
||||||
|
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 'when on Linux, return libjvm path' do
|
||||||
context 'returns libjvm path' do
|
it do
|
||||||
context 'on Linux' do
|
expect(Facter.value(:java_libjvm_path)).to eql '/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server'
|
||||||
it do
|
|
||||||
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,27 +1,25 @@
|
|||||||
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 'when java_version fact present, returns major version' 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
|
|
||||||
it do
|
|
||||||
expect(Facter.fact(:java_major_version).value).to eq("7")
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
it do
|
||||||
|
expect(Facter.fact(:java_major_version).value).to eq('7')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'returns nil when java not present' do
|
context 'when java not present, 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
|
||||||
it do
|
it do
|
||||||
expect(Facter.fact(:java_major_version).value).to be_nil
|
expect(Facter.fact(:java_major_version).value).to be_nil
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,31 +1,25 @@
|
|||||||
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 'when java is installed returns java patch version extracted from java_version fact' do
|
||||||
context "if java is installed" do
|
before :each do
|
||||||
context 'returns java patch version extracted from java_version fact' do
|
Facter.fact(:java_version).stubs(:value).returns('1.7.0_71')
|
||||||
before :each do
|
|
||||||
Facter.fact(:java_version).stubs(:value).returns('1.7.0_71')
|
|
||||||
end
|
|
||||||
it do
|
|
||||||
expect(Facter.fact(:java_patch_level).value).to eq("71")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
it do
|
||||||
|
expect(Facter.fact(:java_patch_level).value).to eq('71')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context "if java is not installed" do
|
context 'when 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
|
it do
|
||||||
it do
|
expect(Facter.fact(:java_patch_level).value).to be_nil
|
||||||
expect(Facter.fact(:java_patch_level).value).to be_nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,95 +1,91 @@
|
|||||||
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
|
||||||
}
|
end
|
||||||
|
|
||||||
describe "java_version" do
|
context 'when java present, returns java version' do
|
||||||
context 'returns java version when java present' do
|
context 'on OpenBSD', with_env: true do
|
||||||
context 'on OpenBSD', :with_env => true do
|
before(:each) do
|
||||||
before do
|
Facter.fact(:operatingsystem).stubs(:value).returns('OpenBSD')
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("OpenBSD")
|
|
||||||
end
|
|
||||||
let(:facts) { {:operatingsystem => 'OpenBSD'} }
|
|
||||||
it do
|
|
||||||
java_version_output = <<-EOS
|
|
||||||
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
|
|
||||||
openjdk version "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
|
||||||
context 'on Darwin' do
|
let(:facts) { { operatingsystem: 'OpenBSD' } }
|
||||||
before do
|
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("Darwin")
|
it do
|
||||||
end
|
Facter::Util::Resolution.expects(:which).with('java').returns('/usr/local/jdk-1.7.0/jre/bin/java')
|
||||||
let(:facts) { {:operatingsystem => 'Darwin'} }
|
Facter::Util::Resolution.expects(:exec).with('java -Xmx12m -version 2>&1').returns(openjdk_7_output)
|
||||||
it do
|
expect(Facter.value(:java_version)).to eq('1.7.0_71')
|
||||||
java_version_output = <<-EOS
|
|
||||||
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
|
|
||||||
java version "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
|
|
||||||
context 'on other systems' do
|
|
||||||
before do
|
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("MyOS")
|
|
||||||
end
|
|
||||||
let(:facts) { {:operatingsystem => 'MyOS'} }
|
|
||||||
it do
|
|
||||||
java_version_output = <<-EOS
|
|
||||||
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
|
|
||||||
java version "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
|
||||||
|
context 'when on Darwin' do
|
||||||
|
before(:each) do
|
||||||
|
Facter.fact(:operatingsystem).stubs(:value).returns('Darwin')
|
||||||
|
end
|
||||||
|
let(:facts) { { operatingsystem: 'Darwin' } }
|
||||||
|
|
||||||
context 'returns nil when java not present' do
|
it do
|
||||||
context 'on OpenBSD', :with_env => true do
|
Facter::Util::Resolution.expects(:exec).with('/usr/libexec/java_home --failfast 2>&1').returns('/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home')
|
||||||
before do
|
Facter::Util::Resolution.expects(:exec).with('java -Xmx12m -version 2>&1').returns(jdk_7_hotspot_output)
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("OpenBSD")
|
expect(Facter.value(:java_version)).to eql '1.7.0_71'
|
||||||
end
|
|
||||||
let(:facts) { {:operatingsystem => 'OpenBSD'} }
|
|
||||||
it do
|
|
||||||
Facter::Util::Resolution.stubs(:exec)
|
|
||||||
expect(Facter.value(:java_version)).to be_nil
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
context 'on Darwin' do
|
end
|
||||||
before do
|
context 'when on other systems' do
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("Darwin")
|
before(:each) do
|
||||||
end
|
Facter.fact(:operatingsystem).stubs(:value).returns('MyOS')
|
||||||
let(:facts) { {:operatingsystem => 'Darwin'} }
|
|
||||||
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)".')
|
|
||||||
expect(Facter.value(:java_version)).to be_nil
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
context 'on other systems' do
|
let(:facts) { { operatingsystem: 'MyOS' } }
|
||||||
before do
|
|
||||||
Facter.fact(:operatingsystem).stubs(:value).returns("MyOS")
|
it do
|
||||||
end
|
Facter::Util::Resolution.expects(:which).with('java').returns('/path/to/java')
|
||||||
let(:facts) { {:operatingsystem => 'MyOS'} }
|
Facter::Util::Resolution.expects(:exec).with('java -Xmx12m -version 2>&1').returns(jdk_7_hotspot_output)
|
||||||
it do
|
expect(Facter.value(:java_version)).to eq('1.7.0_71')
|
||||||
Facter::Util::Resolution.expects(:which).at_least(1).with("java").returns(false)
|
end
|
||||||
expect(Facter.value(:java_version)).to be_nil
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when java not present, returns nil' do
|
||||||
|
context 'on OpenBSD', with_env: true do
|
||||||
|
before(:each) do
|
||||||
|
Facter.fact(:operatingsystem).stubs(:value).returns('OpenBSD')
|
||||||
|
end
|
||||||
|
let(:facts) { { operatingsystem: 'OpenBSD' } }
|
||||||
|
|
||||||
|
it do
|
||||||
|
Facter::Util::Resolution.stubs(:exec)
|
||||||
|
expect(Facter.value(:java_version)).to be_nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
context 'when on Darwin' do
|
||||||
|
before(:each) do
|
||||||
|
Facter.fact(:operatingsystem).stubs(:value).returns('Darwin')
|
||||||
|
end
|
||||||
|
let(:facts) { { operatingsystem: 'Darwin' } }
|
||||||
|
|
||||||
|
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)".')
|
||||||
|
expect(Facter.value(:java_version)).to be_nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
context 'when on other systems' do
|
||||||
|
before(:each) do
|
||||||
|
Facter.fact(:operatingsystem).stubs(:value).returns('MyOS')
|
||||||
|
end
|
||||||
|
let(:facts) { { operatingsystem: 'MyOS' } }
|
||||||
|
|
||||||
|
it do
|
||||||
|
Facter::Util::Resolution.expects(:which).at_least(1).with('java').returns(false)
|
||||||
|
expect(Facter.value(:java_version)).to be_nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user