From 502c94b8eddd6e513b72779c9bf25f80a39d2274 Mon Sep 17 00:00:00 2001 From: Hunter Haugen Date: Tue, 5 Aug 2014 13:31:52 -0700 Subject: [PATCH] Add acceptance tests This includes tests for installing openjdk jdk & jre on most PE supported platforms. --- Gemfile | 36 +++-- Gemfile.lock | 43 ------ Modulefile | 2 +- manifests/params.pp | 4 +- spec/acceptance/install_spec.rb | 134 ++++++++++++++++++ spec/acceptance/nodesets/centos-5-vcloud.yml | 15 ++ spec/acceptance/nodesets/centos-59-x64-pe.yml | 12 ++ spec/acceptance/nodesets/centos-59-x64.yml | 10 ++ spec/acceptance/nodesets/centos-6-vcloud.yml | 15 ++ .../nodesets/centos-64-x64-fusion.yml | 10 ++ spec/acceptance/nodesets/centos-64-x64-pe.yml | 12 ++ spec/acceptance/nodesets/centos-64-x64.yml | 10 ++ spec/acceptance/nodesets/centos-65-x64.yml | 10 ++ spec/acceptance/nodesets/centos-7-vcloud.yml | 15 ++ spec/acceptance/nodesets/debian-6-vcloud.yml | 15 ++ spec/acceptance/nodesets/debian-607-x64.yml | 10 ++ spec/acceptance/nodesets/debian-7-vcloud.yml | 15 ++ spec/acceptance/nodesets/debian-70rc1-x64.yml | 10 ++ spec/acceptance/nodesets/default.yml | 10 ++ spec/acceptance/nodesets/fedora-18-x64.yml | 10 ++ spec/acceptance/nodesets/redhat-7-vcloud.yml | 15 ++ spec/acceptance/nodesets/sles-11-vcloud.yml | 16 +++ spec/acceptance/nodesets/sles-11sp1-x64.yml | 10 ++ .../acceptance/nodesets/solaris-11-vcloud.yml | 15 ++ .../nodesets/ubuntu-1004-vcloud.yml | 15 ++ .../nodesets/ubuntu-1404-vcloud.yml | 15 ++ .../nodesets/ubuntu-server-10044-x64.yml | 10 ++ .../nodesets/ubuntu-server-12042-x64.yml | 10 ++ .../nodesets/ubuntu-server-1404-x64.yml | 11 ++ spec/classes/java_spec.rb | 4 +- spec/spec_helper_acceptance.rb | 41 ++++++ 31 files changed, 500 insertions(+), 60 deletions(-) delete mode 100644 Gemfile.lock create mode 100644 spec/acceptance/install_spec.rb create mode 100644 spec/acceptance/nodesets/centos-5-vcloud.yml create mode 100644 spec/acceptance/nodesets/centos-59-x64-pe.yml create mode 100644 spec/acceptance/nodesets/centos-59-x64.yml create mode 100644 spec/acceptance/nodesets/centos-6-vcloud.yml create mode 100644 spec/acceptance/nodesets/centos-64-x64-fusion.yml create mode 100644 spec/acceptance/nodesets/centos-64-x64-pe.yml create mode 100644 spec/acceptance/nodesets/centos-64-x64.yml create mode 100644 spec/acceptance/nodesets/centos-65-x64.yml create mode 100644 spec/acceptance/nodesets/centos-7-vcloud.yml create mode 100644 spec/acceptance/nodesets/debian-6-vcloud.yml create mode 100644 spec/acceptance/nodesets/debian-607-x64.yml create mode 100644 spec/acceptance/nodesets/debian-7-vcloud.yml create mode 100644 spec/acceptance/nodesets/debian-70rc1-x64.yml create mode 100644 spec/acceptance/nodesets/default.yml create mode 100644 spec/acceptance/nodesets/fedora-18-x64.yml create mode 100644 spec/acceptance/nodesets/redhat-7-vcloud.yml create mode 100644 spec/acceptance/nodesets/sles-11-vcloud.yml create mode 100644 spec/acceptance/nodesets/sles-11sp1-x64.yml create mode 100644 spec/acceptance/nodesets/solaris-11-vcloud.yml create mode 100644 spec/acceptance/nodesets/ubuntu-1004-vcloud.yml create mode 100644 spec/acceptance/nodesets/ubuntu-1404-vcloud.yml create mode 100644 spec/acceptance/nodesets/ubuntu-server-10044-x64.yml create mode 100644 spec/acceptance/nodesets/ubuntu-server-12042-x64.yml create mode 100644 spec/acceptance/nodesets/ubuntu-server-1404-x64.yml create mode 100644 spec/spec_helper_acceptance.rb diff --git a/Gemfile b/Gemfile index 5382cd4..e960f7c 100644 --- a/Gemfile +++ b/Gemfile @@ -1,15 +1,27 @@ -source "http://rubygems.org" +source ENV['GEM_SOURCE'] || "https://rubygems.org" -if ENV.key?('PUPPET_VERSION') - puppetversion = "= #{ENV['PUPPET_VERSION']}" -elsif ENV.key?('PUPPET_GEM_VERSION') - puppetversion = ENV['PUPPET_GEM_VERSION'] -else - puppetversion = ['~> 2.7'] +group :development, :test do + gem 'rake', :require => false + gem 'rspec-puppet', :require => false + gem 'puppetlabs_spec_helper', :require => false + gem 'serverspec', :require => false + gem 'puppet-lint', :require => false + gem 'beaker', :require => false + gem 'beaker-rspec', :require => false + gem 'pry', :require => false + gem 'simplecov', :require => false end -gem "rake" -gem "puppet", puppetversion -gem "puppet-lint" -gem "rspec-puppet" -gem "puppetlabs_spec_helper" +if facterversion = ENV['FACTER_GEM_VERSION'] + gem 'facter', facterversion, :require => false +else + gem 'facter', :require => false +end + +if puppetversion = ENV['PUPPET_GEM_VERSION'] + gem 'puppet', puppetversion, :require => false +else + gem 'puppet', :require => false +end + +# vim:ft=ruby diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 4ab57b7..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,43 +0,0 @@ -GEM - remote: http://rubygems.org/ - specs: - diff-lcs (1.2.2) - facter (1.7.2) - hiera (1.2.1) - json_pure - json_pure (1.8.0) - metaclass (0.0.1) - mocha (0.13.3) - metaclass (~> 0.0.1) - puppet (3.2.3) - facter (~> 1.6) - hiera (~> 1.0) - rgen (~> 0.6.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) - rgen (0.6.5) - 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 (~> 3.2.0) - puppet-lint - puppetlabs_spec_helper - rake - rspec-puppet diff --git a/Modulefile b/Modulefile index 0796dd8..e7f2335 100644 --- a/Modulefile +++ b/Modulefile @@ -7,4 +7,4 @@ summary 'Manage the official Java runtime' description 'Manage the official Java runtime' project_page 'https://github.com/puppetlabs/puppetlabs-java' -dependency 'puppetlabs/stdlib', '>= 0.1.6' +dependency 'puppetlabs/stdlib', '>= 2.4.0' diff --git a/manifests/params.pp b/manifests/params.pp index ffab332..865ebd0 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -52,13 +52,13 @@ class java::params { $java = { 'jdk' => { 'package' => 'openjdk-6-jdk', - 'alternative' => 'java-6-openjdk', + 'alternative' => "java-6-openjdk-${architecture}", 'alternative_path' => '/usr/lib/jvm/java-6-openjdk/jre/bin/java', 'java_home' => '/usr/lib/jvm/java-6-openjdk/jre/', }, 'jre' => { 'package' => 'openjdk-6-jre-headless', - 'alternative' => 'java-6-openjdk', + 'alternative' => "java-6-openjdk-${architecture}", 'alternative_path' => '/usr/lib/jvm/java-6-openjdk/jre/bin/java', 'java_home' => '/usr/lib/jvm/java-6-openjdk/jre/', }, diff --git a/spec/acceptance/install_spec.rb b/spec/acceptance/install_spec.rb new file mode 100644 index 0000000..a090643 --- /dev/null +++ b/spec/acceptance/install_spec.rb @@ -0,0 +1,134 @@ +require 'spec_helper_acceptance' + +#RedHat, CentOS, Scientific, Oracle prior to 5.0 : Sun Java JDK/JRE 1.6 +#RedHat, CentOS, Scientific, Oracle 5.0 < x < 6.3 : OpenJDK Java JDK/JRE 1.6 +#RedHat, CentOS, Scientific, Oracle after 6.3 : OpenJDK Java JDK/JRE 1.7 +#Debian 5/6 & Ubuntu 10.04/11.04 : OpenJDK Java JDK/JRE 1.6 or Sun Java JDK/JRE 1.6 +#Debian 7/Jesse & Ubuntu 12.04 - 14.04 : OpenJDK Java JDK/JRE 1.7 or Oracle Java JDK/JRE 1.6 +#Solaris (what versions?) : Java JDK/JRE 1.7 +#OpenSuSE : OpenJDK Java JDK/JRE 1.7 +#SLES : IBM Java JDK/JRE 1.6 + +# C14677 +# C14678 +# C14679 +# C14680 +# C14681 +# C14682 +# C14684 +# C14690 +# C14692 +# C14696 +# C14697 +# C14703 +# C14722 +describe "installing java", :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do + describe "jre" do + #case "#{fact('osfamily')} #{fact('operatingsystemrelease')}" + #when /RedHat 4/ + # # How does it work? yum is not present... + #when /RedHat 5/ + # java_version = 'java version "1.6.0' + #when /RedHat (6|7)/ + # java_version = 'java version "1.7.0' + #when /Debian (5|6|10|11)/ + # java_version = 'java version "1.6.0' + #when /Debian (7|jesse|12|14)6/ + # java_version = 'java version "1.7.0' + #when /Solaris / + # java_version = + #when /Suse/ + # java_version = + #end + + it 'should install jre' do + pp = <<-EOS + class { 'java': + distribution => 'jre', + } + EOS + + apply_manifest(pp, :expect_changes => true) + apply_manifest(pp, :catch_changes => true) + end + end + describe "jdk" do + it 'should install jdk' do + pp = <<-EOS + class { 'java': } + EOS + + apply_manifest(pp, :expect_changes => true) + apply_manifest(pp, :catch_changes => true) + end + end +end +# C14686 +describe 'sun', :if => (fact('operatingsystem') == 'Debian' and fact('operatingsystemrelease').match(/(5|6)/)) do + before :all do + pp = <<-EOS + 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('echo "sun-java6-jdk shared/accepted-sun-dlj-v1-1 select true" | debconf-set-selections') + shell('echo "sun-java6-jre shared/accepted-sun-dlj-v1-1 select true" | debconf-set-selections') + end + describe 'jre' do + it 'should install sun-jre' do + pp = <<-EOS + class { 'java': + distribution => 'sun-jre', + } + EOS + + apply_manifest(pp, :expect_changes => true) + apply_manifest(pp, :catch_changes => true) + end + end + describe 'jdk' do + it 'should install sun-jdk' do + pp = <<-EOS + class { 'java': + distribution => 'sun-jdk', + } + EOS + + apply_manifest(pp, :expect_changes => true) + apply_manifest(pp, :catch_changes => true) + end + end +end + +# C14704 +describe 'oracle', :if => (fact('operatingsystem') == 'Debian' and fact('operatingsystemrelease').match(/^7/)) do + # not supported + # 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 + # repository, that is the intention of this version ability + # C14704 + describe 'jre' do + it 'should install oracle-jre' do + pp = <<-EOS + class { 'java': + distribution => 'oracle-jre', + } + EOS + + apply_manifest(pp, :expect_failures => true) + end + end + describe 'jdk' do + it 'should install oracle-jdk' do + pp = <<-EOS + class { 'java': } + EOS + + apply_manifest(pp, :expect_failures => true) + end + end +end diff --git a/spec/acceptance/nodesets/centos-5-vcloud.yml b/spec/acceptance/nodesets/centos-5-vcloud.yml new file mode 100644 index 0000000..377d0ee --- /dev/null +++ b/spec/acceptance/nodesets/centos-5-vcloud.yml @@ -0,0 +1,15 @@ +HOSTS: + 'centos-5-vcloud': + roles: + - master + platform: el-5-x86_64 + hypervisor: vcloud + template: centos-5-x86_64 +CONFIG: + type: foss + ssh: + keys: "~/.ssh/id_rsa-acceptance" + datastore: instance0 + folder: Delivery/Quality Assurance/Enterprise/Dynamic + resourcepool: delivery/Quality Assurance/Enterprise/Dynamic + pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/spec/acceptance/nodesets/centos-59-x64-pe.yml b/spec/acceptance/nodesets/centos-59-x64-pe.yml new file mode 100644 index 0000000..3a6470b --- /dev/null +++ b/spec/acceptance/nodesets/centos-59-x64-pe.yml @@ -0,0 +1,12 @@ +HOSTS: + centos-59-x64: + roles: + - master + - database + - console + platform: el-5-x86_64 + box : centos-59-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-59-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: pe diff --git a/spec/acceptance/nodesets/centos-59-x64.yml b/spec/acceptance/nodesets/centos-59-x64.yml new file mode 100644 index 0000000..2ad90b8 --- /dev/null +++ b/spec/acceptance/nodesets/centos-59-x64.yml @@ -0,0 +1,10 @@ +HOSTS: + centos-59-x64: + roles: + - master + platform: el-5-x86_64 + box : centos-59-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-59-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: git diff --git a/spec/acceptance/nodesets/centos-6-vcloud.yml b/spec/acceptance/nodesets/centos-6-vcloud.yml new file mode 100644 index 0000000..ca9c1d3 --- /dev/null +++ b/spec/acceptance/nodesets/centos-6-vcloud.yml @@ -0,0 +1,15 @@ +HOSTS: + 'centos-6-vcloud': + roles: + - master + platform: el-6-x86_64 + hypervisor: vcloud + template: centos-6-x86_64 +CONFIG: + type: foss + ssh: + keys: "~/.ssh/id_rsa-acceptance" + datastore: instance0 + folder: Delivery/Quality Assurance/Enterprise/Dynamic + resourcepool: delivery/Quality Assurance/Enterprise/Dynamic + pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/spec/acceptance/nodesets/centos-64-x64-fusion.yml b/spec/acceptance/nodesets/centos-64-x64-fusion.yml new file mode 100644 index 0000000..d516673 --- /dev/null +++ b/spec/acceptance/nodesets/centos-64-x64-fusion.yml @@ -0,0 +1,10 @@ +HOSTS: + centos-64-x64: + roles: + - master + platform: el-6-x86_64 + box : centos-64-x64-fusion503-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-fusion503-nocm.box + hypervisor : fusion +CONFIG: + type: foss diff --git a/spec/acceptance/nodesets/centos-64-x64-pe.yml b/spec/acceptance/nodesets/centos-64-x64-pe.yml new file mode 100644 index 0000000..7d9242f --- /dev/null +++ b/spec/acceptance/nodesets/centos-64-x64-pe.yml @@ -0,0 +1,12 @@ +HOSTS: + centos-64-x64: + roles: + - master + - database + - dashboard + platform: el-6-x86_64 + box : centos-64-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: pe diff --git a/spec/acceptance/nodesets/centos-64-x64.yml b/spec/acceptance/nodesets/centos-64-x64.yml new file mode 100644 index 0000000..05540ed --- /dev/null +++ b/spec/acceptance/nodesets/centos-64-x64.yml @@ -0,0 +1,10 @@ +HOSTS: + centos-64-x64: + roles: + - master + platform: el-6-x86_64 + box : centos-64-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: foss diff --git a/spec/acceptance/nodesets/centos-65-x64.yml b/spec/acceptance/nodesets/centos-65-x64.yml new file mode 100644 index 0000000..4e2cb80 --- /dev/null +++ b/spec/acceptance/nodesets/centos-65-x64.yml @@ -0,0 +1,10 @@ +HOSTS: + centos-65-x64: + roles: + - master + platform: el-6-x86_64 + box : centos-65-x64-vbox436-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-65-x64-virtualbox-nocm.box + hypervisor : vagrant +CONFIG: + type: foss diff --git a/spec/acceptance/nodesets/centos-7-vcloud.yml b/spec/acceptance/nodesets/centos-7-vcloud.yml new file mode 100644 index 0000000..1cecb6b --- /dev/null +++ b/spec/acceptance/nodesets/centos-7-vcloud.yml @@ -0,0 +1,15 @@ +HOSTS: + 'centos-7-vcloud': + roles: + - master + platform: el-7-x86_64 + hypervisor: vcloud + template: centos-7-x86_64 +CONFIG: + type: foss + ssh: + keys: "~/.ssh/id_rsa-acceptance" + datastore: instance0 + folder: Delivery/Quality Assurance/Enterprise/Dynamic + resourcepool: delivery/Quality Assurance/Enterprise/Dynamic + pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/spec/acceptance/nodesets/debian-6-vcloud.yml b/spec/acceptance/nodesets/debian-6-vcloud.yml new file mode 100644 index 0000000..658c7d4 --- /dev/null +++ b/spec/acceptance/nodesets/debian-6-vcloud.yml @@ -0,0 +1,15 @@ +HOSTS: + 'debian-6-amd64': + roles: + - master + platform: debian-6-amd64 + hypervisor: vcloud + template: debian-6-x86_64 +CONFIG: + type: foss + ssh: + keys: "~/.ssh/id_rsa-acceptance" + datastore: instance0 + folder: Delivery/Quality Assurance/Enterprise/Dynamic + resourcepool: delivery/Quality Assurance/Enterprise/Dynamic + pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/spec/acceptance/nodesets/debian-607-x64.yml b/spec/acceptance/nodesets/debian-607-x64.yml new file mode 100644 index 0000000..4c8be42 --- /dev/null +++ b/spec/acceptance/nodesets/debian-607-x64.yml @@ -0,0 +1,10 @@ +HOSTS: + debian-607-x64: + roles: + - master + platform: debian-6-amd64 + box : debian-607-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/debian-607-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: git diff --git a/spec/acceptance/nodesets/debian-7-vcloud.yml b/spec/acceptance/nodesets/debian-7-vcloud.yml new file mode 100644 index 0000000..9323473 --- /dev/null +++ b/spec/acceptance/nodesets/debian-7-vcloud.yml @@ -0,0 +1,15 @@ +HOSTS: + 'debian-7-amd64': + roles: + - master + platform: debian-7-amd64 + hypervisor: vcloud + template: debian-7-x86_64 +CONFIG: + type: foss + ssh: + keys: "~/.ssh/id_rsa-acceptance" + datastore: instance0 + folder: Delivery/Quality Assurance/Enterprise/Dynamic + resourcepool: delivery/Quality Assurance/Enterprise/Dynamic + pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/spec/acceptance/nodesets/debian-70rc1-x64.yml b/spec/acceptance/nodesets/debian-70rc1-x64.yml new file mode 100644 index 0000000..19181c1 --- /dev/null +++ b/spec/acceptance/nodesets/debian-70rc1-x64.yml @@ -0,0 +1,10 @@ +HOSTS: + debian-70rc1-x64: + roles: + - master + platform: debian-7-amd64 + box : debian-70rc1-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/debian-70rc1-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: git diff --git a/spec/acceptance/nodesets/default.yml b/spec/acceptance/nodesets/default.yml new file mode 100644 index 0000000..05540ed --- /dev/null +++ b/spec/acceptance/nodesets/default.yml @@ -0,0 +1,10 @@ +HOSTS: + centos-64-x64: + roles: + - master + platform: el-6-x86_64 + box : centos-64-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: foss diff --git a/spec/acceptance/nodesets/fedora-18-x64.yml b/spec/acceptance/nodesets/fedora-18-x64.yml new file mode 100644 index 0000000..624b537 --- /dev/null +++ b/spec/acceptance/nodesets/fedora-18-x64.yml @@ -0,0 +1,10 @@ +HOSTS: + fedora-18-x64: + roles: + - master + platform: fedora-18-x86_64 + box : fedora-18-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/fedora-18-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: git diff --git a/spec/acceptance/nodesets/redhat-7-vcloud.yml b/spec/acceptance/nodesets/redhat-7-vcloud.yml new file mode 100644 index 0000000..cf8f79a --- /dev/null +++ b/spec/acceptance/nodesets/redhat-7-vcloud.yml @@ -0,0 +1,15 @@ +HOSTS: + 'redhat-7-vcloud': + roles: + - master + platform: el-7-x86_64 + hypervisor: vcloud + template: redhat-7-x86_64 +CONFIG: + type: foss + ssh: + keys: "~/.ssh/id_rsa-acceptance" + datastore: instance0 + folder: Delivery/Quality Assurance/Enterprise/Dynamic + resourcepool: delivery/Quality Assurance/Enterprise/Dynamic + pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/spec/acceptance/nodesets/sles-11-vcloud.yml b/spec/acceptance/nodesets/sles-11-vcloud.yml new file mode 100644 index 0000000..3f6114a --- /dev/null +++ b/spec/acceptance/nodesets/sles-11-vcloud.yml @@ -0,0 +1,16 @@ +HOSTS: + 'sles-11-vcloud': + roles: + - master + platform: sles-11-x86_64 + hypervisor: vcloud + template: sles-11-x86_64 + +CONFIG: + type: foss + ssh: + keys: "~/.ssh/id_rsa-acceptance" + datastore: instance0 + folder: Delivery/Quality Assurance/Enterprise/Dynamic + resourcepool: delivery/Quality Assurance/Enterprise/Dynamic + pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/spec/acceptance/nodesets/sles-11sp1-x64.yml b/spec/acceptance/nodesets/sles-11sp1-x64.yml new file mode 100644 index 0000000..554c37a --- /dev/null +++ b/spec/acceptance/nodesets/sles-11sp1-x64.yml @@ -0,0 +1,10 @@ +HOSTS: + sles-11sp1-x64: + roles: + - master + platform: sles-11-x86_64 + box : sles-11sp1-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/sles-11sp1-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: git diff --git a/spec/acceptance/nodesets/solaris-11-vcloud.yml b/spec/acceptance/nodesets/solaris-11-vcloud.yml new file mode 100644 index 0000000..f3912ab --- /dev/null +++ b/spec/acceptance/nodesets/solaris-11-vcloud.yml @@ -0,0 +1,15 @@ +HOSTS: + 'solaris-11-vcloud': + roles: + - master + platform: solaris-11-i386 + hypervisor: vcloud + template: solaris-11-x86_64 +CONFIG: + type: foss + ssh: + keys: "~/.ssh/id_rsa-acceptance" + datastore: instance0 + folder: Delivery/Quality Assurance/Enterprise/Dynamic + resourcepool: delivery/Quality Assurance/Enterprise/Dynamic + pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/spec/acceptance/nodesets/ubuntu-1004-vcloud.yml b/spec/acceptance/nodesets/ubuntu-1004-vcloud.yml new file mode 100644 index 0000000..19a918f --- /dev/null +++ b/spec/acceptance/nodesets/ubuntu-1004-vcloud.yml @@ -0,0 +1,15 @@ +HOSTS: + 'ubuntu-1004-amd64': + roles: + - master + platform: ubuntu-10.04-amd64 + hypervisor: vcloud + template: ubuntu-1004-x86_64 +CONFIG: + type: foss + ssh: + keys: "~/.ssh/id_rsa-acceptance" + datastore: instance0 + folder: Delivery/Quality Assurance/Enterprise/Dynamic + resourcepool: delivery/Quality Assurance/Enterprise/Dynamic + pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/spec/acceptance/nodesets/ubuntu-1404-vcloud.yml b/spec/acceptance/nodesets/ubuntu-1404-vcloud.yml new file mode 100644 index 0000000..d84b18e --- /dev/null +++ b/spec/acceptance/nodesets/ubuntu-1404-vcloud.yml @@ -0,0 +1,15 @@ +HOSTS: + 'ubuntu-1404-amd64': + roles: + - master + platform: ubuntu-14.04-amd64 + hypervisor: vcloud + template: ubuntu-1404-x86_64 +CONFIG: + type: foss + ssh: + keys: "~/.ssh/id_rsa-acceptance" + datastore: instance0 + folder: Delivery/Quality Assurance/Enterprise/Dynamic + resourcepool: delivery/Quality Assurance/Enterprise/Dynamic + pooling_api: http://vcloud.delivery.puppetlabs.net/ diff --git a/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml b/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml new file mode 100644 index 0000000..5ca1514 --- /dev/null +++ b/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml @@ -0,0 +1,10 @@ +HOSTS: + ubuntu-server-10044-x64: + roles: + - master + platform: ubuntu-10.04-amd64 + box : ubuntu-server-10044-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-10044-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: foss diff --git a/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml b/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml new file mode 100644 index 0000000..d065b30 --- /dev/null +++ b/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml @@ -0,0 +1,10 @@ +HOSTS: + ubuntu-server-12042-x64: + roles: + - master + platform: ubuntu-12.04-amd64 + box : ubuntu-server-12042-x64-vbox4210-nocm + box_url : http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box + hypervisor : vagrant +CONFIG: + type: foss diff --git a/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml b/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml new file mode 100644 index 0000000..cba1cd0 --- /dev/null +++ b/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml @@ -0,0 +1,11 @@ +HOSTS: + ubuntu-server-1404-x64: + roles: + - master + platform: ubuntu-14.04-amd64 + box : puppetlabs/ubuntu-14.04-64-nocm + box_url : https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm + hypervisor : vagrant +CONFIG: + log_level : debug + type: git diff --git a/spec/classes/java_spec.rb b/spec/classes/java_spec.rb index f057783..8f48e85 100644 --- a/spec/classes/java_spec.rb +++ b/spec/classes/java_spec.rb @@ -55,9 +55,9 @@ describe 'java', :type => :class do end context 'select default for Debian Squeeze' do - let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'squeeze', :operatingsystemrelease => '6.0.5'} } + let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'squeeze', :operatingsystemrelease => '6.0.5', :architecture => 'amd64',} } it { should contain_package('java').with_name('openjdk-6-jdk') } - it { should contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-openjdk --jre') } + it { should contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-openjdk-amd64 --jre') } end context 'select Oracle JRE for Debian Squeeze' do diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb new file mode 100644 index 0000000..1a8a44b --- /dev/null +++ b/spec/spec_helper_acceptance.rb @@ -0,0 +1,41 @@ +require 'beaker-rspec' + +UNSUPPORTED_PLATFORMS = [ "Darwin", "windows" ] + +unless ENV["RS_PROVISION"] == "no" or ENV["BEAKER_provision"] == "no" + if hosts.first.is_pe? + install_pe + else + install_puppet({ :version => "3.6.2", + :facter_version => "2.1.0", + :hiera_version => "1.3.4", + :default_action => "gem_install" }) + hosts.each do |h| + on h, "/bin/mkdir -p #{h["puppetpath"]}" + on h, "/bin/echo '' > #{h["hieraconf"]}" + end + end + hosts.each do |host| + if host["platform"] =~ /solaris/ + on host, "echo 'export PATH=/opt/puppet/bin:${PATH}' >> ~/.bashrc" + end + on host, "mkdir -p #{host["distmoduledir"]}" + on host, "puppet module install puppetlabs-stdlib", :acceptable_exit_codes => [0,1] + # For test support + on host, "puppet module install puppetlabs-apt", :acceptable_exit_codes => [0,1] + end +end + +RSpec.configure do |c| + # Project root + proj_root = File.expand_path(File.join(File.dirname(__FILE__), "..")) + + # Readable test descriptions + c.formatter = :documentation + + # Configure all nodes in nodeset + c.before :suite do + # Install module + puppet_module_install(:source => proj_root, :module_name => "java") + end +end