diff --git a/.fixtures.yml b/.fixtures.yml new file mode 100644 index 0000000..d78d3c7 --- /dev/null +++ b/.fixtures.yml @@ -0,0 +1,5 @@ +fixtures: + repositories: + stdlib: git://github.com/puppetlabs/puppetlabs-stdlib.git + symlinks: + java: "#{source_dir}" diff --git a/.gitignore b/.gitignore index 79d3358..73879ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ pkg/ .DS_Store metadata.json +spec/fixtures diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..43256ba --- /dev/null +++ b/Gemfile @@ -0,0 +1,13 @@ +source "http://rubygems.org" + +if ENV.key?('PUPPET_VERSION') + puppetversion = "= #{ENV['PUPPET_VERSION']}" +else + puppetversion = ['~> 2.7'] +end + +gem "rake" +gem "puppet", puppetversion +gem "puppet-lint" +gem "rspec-puppet" +gem "puppetlabs_spec_helper" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..e5efb1b --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,37 @@ +GEM + remote: http://rubygems.org/ + specs: + diff-lcs (1.2.2) + facter (1.6.18) + metaclass (0.0.1) + mocha (0.13.3) + metaclass (~> 0.0.1) + puppet (2.7.21) + facter (~> 1.5) + puppet-lint (0.3.2) + puppetlabs_spec_helper (0.4.1) + mocha (>= 0.10.5) + rake + rspec (>= 2.9.0) + rspec-puppet (>= 0.1.1) + rake (10.0.4) + rspec (2.13.0) + rspec-core (~> 2.13.0) + rspec-expectations (~> 2.13.0) + rspec-mocks (~> 2.13.0) + rspec-core (2.13.1) + rspec-expectations (2.13.0) + diff-lcs (>= 1.1.3, < 2.0) + rspec-mocks (2.13.0) + rspec-puppet (0.1.6) + rspec + +PLATFORMS + ruby + +DEPENDENCIES + puppet (~> 2.7) + puppet-lint + puppetlabs_spec_helper + rake + rspec-puppet diff --git a/Modulefile b/Modulefile index fbc1f39..08a2b0e 100644 --- a/Modulefile +++ b/Modulefile @@ -1,11 +1,10 @@ -name 'puppetlabs-java' -version '0.3.0' -source 'git://github.com/puppetlabs/puppetlabs-java' -author 'puppetlabs' -license 'Apache' -summary 'Manage the official Java runtime' -description 'Manage the official Java runtime' +name 'puppetlabs-java' +version '0.3.0' +source 'git://github.com/puppetlabs/puppetlabs-java' +author 'puppetlabs' +license 'Apache' +summary 'Manage the official Java runtime' +description 'Manage the official Java runtime' project_page 'https://github.com/puppetlabs/puppetlabs-java' -## Add dependencies, if any: -dependency 'puppetlabs/stdlib', '>= 0.1.6' +dependency 'puppetlabs/stdlib', '>= 0.1.6' diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..bb968be --- /dev/null +++ b/Rakefile @@ -0,0 +1,5 @@ +require 'puppetlabs_spec_helper/rake_tasks' +require 'puppet-lint/tasks/puppet-lint' + +PuppetLint.configuration.send("disable_80chars") +PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}" diff --git a/manifests/params.pp b/manifests/params.pp index 88b1b18..09981db 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -11,8 +11,14 @@ class java::params { case $::operatingsystem { default: { fail("unsupported os ${::operatingsystem}") } 'RedHat', 'CentOS': { - $jdk_package = 'java-1.7.0-openjdk-devel' - $jre_package = 'java-1.7.0-openjdk' + if (versioncmp($::operatingsystemrelease, '6.3') < 0) { + $jdk_package = 'java-1.6.0-openjdk-devel' + $jre_package = 'java-1.6.0-openjdk' + } + else { + $jdk_package = 'java-1.7.0-openjdk-devel' + $jre_package = 'java-1.7.0-openjdk' + } } 'Fedora': { $jdk_package = 'java' diff --git a/spec/classes/java_spec.rb b/spec/classes/java_spec.rb new file mode 100644 index 0000000..5e802c9 --- /dev/null +++ b/spec/classes/java_spec.rb @@ -0,0 +1,31 @@ +require 'spec_helper' + +describe 'java', :type => :class do + + context 'select openjdk for Centos 5.8' do + let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.8'} } + it { should contain_package('java').with_name('java-1.6.0-openjdk-devel') } + end + + context 'select openjdk for Centos 6.3' do + let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.3'} } + it { should contain_package('java').with_name('java-1.7.0-openjdk-devel') } + end + + context 'select openjdk for Centos 6.2' do + let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.2'} } + it { should contain_package('java').with_name('java-1.6.0-openjdk-devel') } + end + + context 'select passed value for Centos 5.3' do + let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.3'} } + let(:params) { { 'package' => 'jdk' } } + it { should contain_package('java').with_name('jdk') } + end + + context 'select default for Centos 5.3' do + let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.3'} } + it { should contain_package('java').with_name('java-1.6.0-openjdk-devel') } + end + +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 0000000..2c6f566 --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1 @@ +require 'puppetlabs_spec_helper/module_spec_helper'