Add non Debian os family unsupported test.
authorHunter Haugen <hunter@puppetlabs.com>
Mon, 24 Feb 2014 21:52:13 +0000 (13:52 -0800)
committerHunter Haugen <hunter@puppetlabs.com>
Mon, 24 Feb 2014 21:52:13 +0000 (13:52 -0800)
16 files changed:
manifests/params.pp
manifests/unattended_upgrades.pp
spec/acceptance/apt_builddep_spec.rb
spec/acceptance/apt_key_spec.rb
spec/acceptance/apt_ppa_spec.rb
spec/acceptance/apt_source_spec.rb
spec/acceptance/apt_spec.rb
spec/acceptance/backports_spec.rb
spec/acceptance/class_spec.rb
spec/acceptance/conf_spec.rb
spec/acceptance/force_spec.rb
spec/acceptance/pin_spec.rb
spec/acceptance/release_spec.rb
spec/acceptance/unattended_upgrade_spec.rb
spec/acceptance/unsupported_spec.rb [new file with mode: 0644]
spec/spec_helper_acceptance.rb

index 51a01be91a9f07772a606a6afbc30801ccedbc34..b35bb1c8d91b0a667d2fbb3a2ae986628db86261 100644 (file)
@@ -35,5 +35,8 @@ class apt::params {
         }
       }
     }
+    default: {
+      fail("Unsupported osfamily (${::osfamily}) or lsbdistid (${::lsbdistid})")
+    }
   }
 }
index f006bd5289b2c21ff533a898b90411ca2f8d5700..b0bd8ab1e09d7a9dae7780b511012fd227d899f3 100644 (file)
@@ -37,6 +37,7 @@ class apt::unattended_upgrades (
   $download_delta = "0",
   $verbose = "0",
 ) {
+  include apt::params
 
   validate_bool(
     $auto_fix,
index cb01a1b047b29c236559a7749078f7b4b935191f..1e35e4aa68d9530c16c0bbc559f520261cea0b5d 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper_acceptance'
 
-describe 'apt::builddep' do
+describe 'apt::builddep', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
 
   context 'reset' do
     it 'removes packages' do
index 36cba5eeffae5d77e0b98e69027337367e58501e..9f2ba395ad5945a81593adc1bbd5d77aecb82afd 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper_acceptance'
 
-describe 'apt::key' do
+describe 'apt::key', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
   context 'apt::key' do
     it 'should work with no errors' do
       pp = <<-EOS
index 5948461421322e40142a81d27844d03554943aba..c11da9123be2e2dcbc6ad5d77ef97c22f0c29775 100644 (file)
@@ -1,7 +1,7 @@
 require 'spec_helper_acceptance'
 
 if fact('operatingsystem') == 'Ubuntu'
-  describe 'apt::ppa' do
+  describe 'apt::ppa', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
 
     context 'reset' do
       it 'removes ppa' do
index 6b026b88c958ae918e7bf3b3ad26ccf5d2f14d91..c2d076cbff4468e8fc319918a1b943cbba97a4b5 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper_acceptance'
 
-describe 'apt::source' do
+describe 'apt::source', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
 
   context 'apt::source' do
     context 'ensure => present' do
index 35a0d3e70b20ae17f3ed1e26413da5f502ba8245..775139145ec8b575543210ebb7b5e3f4e6782359 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper_acceptance'
 
-describe 'apt class' do
+describe 'apt class', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
 
   context 'reset' do
     it 'fixes the sources.list' do
index 80e2093848c6114ddd5676a8bd88befb713db97e..6d3f7f0e68713dfbf7d0c682e3a25d1730f132db 100644 (file)
@@ -8,7 +8,7 @@ when 'Debian'
   repos = 'main contrib non-free'
 end
 
-describe 'apt::backports class' do
+describe 'apt::backports class', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
   context 'defaults' do
     it 'should work with no errors' do
       pp = <<-EOS
index f228e4c4565f7b8d825b52ca83a421d2c007c142..e5994498b903ffec47f075de8f17a9d157d1428a 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper_acceptance'
 
-describe 'apt class' do
+describe 'apt class', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
 
   context 'default parameters' do
     # Using puppet_apply as a helper
index 98898c274989006b03d0f8fc4fdd9753f898f531..8a8ed63db4df2579061817c5460300265e9943b0 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper_acceptance'
 
-describe 'apt::conf define' do
+describe 'apt::conf define', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
   context 'defaults' do
     it 'should work with no errors' do
       pp = <<-EOS
index aab77a1a766497fd9ad702f71ffa57aadfe73023..00572eae37d395929ab1970955e46b2a03305b2c 100644 (file)
@@ -2,7 +2,7 @@ require 'spec_helper_acceptance'
 
 codename = fact('lsbdistcodename')
 
-describe 'apt::force define' do
+describe 'apt::force define', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
   context 'defaults' do
     it 'should work with no errors' do
       pp = <<-EOS
index b5a004429b72ae2429f708ed1e95277d30e97e6c..4011e73c10fbe9a62f1f1309ed28c42507c7c408 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper_acceptance'
 
-describe 'apt::pin define' do
+describe 'apt::pin define', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
   context 'defaults' do
     it 'should work with no errors' do
       pp = <<-EOS
index 81d7ca0c4d7c33eb241cfa7708f68e0b3b4126bf..e7467bf62de31707e685264cc23fb5642e372dde 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper_acceptance'
 
-describe 'apt::release class' do
+describe 'apt::release class', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
   context 'release_id' do
     it 'should work with no errors' do
       pp = <<-EOS
index a0349d40d7ca303e48c4229e47ed7a0cfed64302..6a19f4e74e044c5efb5eaf352340241fabd047b1 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper_acceptance'
 
-describe 'apt::unattended_upgrades class' do
+describe 'apt::unattended_upgrades class', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
   context 'defaults' do
     it 'should work with no errors' do
       pp = <<-EOS
diff --git a/spec/acceptance/unsupported_spec.rb b/spec/acceptance/unsupported_spec.rb
new file mode 100644 (file)
index 0000000..08dca76
--- /dev/null
@@ -0,0 +1,10 @@
+require 'spec_helper_acceptance'
+
+describe 'unsupported distributions and OSes', :if => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
+  it 'class apt fails' do
+    pp = <<-EOS
+      class { 'apt': }
+    EOS
+    expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/unsupported/i)
+  end
+end
index 142e4a6734e0e675dc6f47131239437fff90c4a0..3352564ce7b553672fab7dafa8f277af232a065f 100644 (file)
@@ -12,6 +12,8 @@ unless ENV['RS_PROVISION'] == 'no'
   end
 end
 
+UNSUPPORTED_PLATFORMS = ['RedHat','Suse','windows','AIX','Solaris']
+
 RSpec.configure do |c|
   # Project root
   proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))