Merge pull request #244 from apenney/fix-tests
[puppet-modules/puppetlabs-apt.git] / spec / defines / ppa_spec.rb
index dfaf09c572c93522f58908876c113aa498b12074..0c3bd75ed779dc64c8a9807eac679c9143b4dccf 100644 (file)
@@ -1,17 +1,28 @@
 require 'spec_helper'
 describe 'apt::ppa', :type => :define do
-  [ { :lsbdistrelease => '11.04',
+  [
+    {
+      :lsbdistrelease  => '11.04',
       :lsbdistcodename => 'natty',
-      :package => 'python-software-properties'},
-    { :lsbdistrelease => '12.10',
+      :operatingsystem => 'Ubuntu',
+      :lsbdistid       => 'Ubuntu',
+      :package         => 'python-software-properties'
+    },
+    {
+      :lsbdistrelease  => '12.10',
       :lsbdistcodename => 'quantal',
-      :package => 'software-properties-common'},
+      :operatingsystem => 'Ubuntu',
+      :lsbdistid       => 'Ubuntu',
+      :package         => 'software-properties-common'
+    },
   ].each do |platform|
     context "on #{platform[:lsbdistcodename]}" do
       let :facts do
         {
-          :lsbdistrelease => platform[:lsbdistrelease],
+          :lsbdistrelease  => platform[:lsbdistrelease],
           :lsbdistcodename => platform[:lsbdistcodename],
+          :operatingsystem => platform[:operatingsystem],
+          :lsbdistid       => platform[:lsbdistid],
         }
       end
       let :release do
@@ -45,8 +56,8 @@ describe 'apt::ppa', :type => :define do
 
           it { should contain_exec("add-apt-repository-#{t}").with(
             'command' => "/usr/bin/add-apt-repository #{options} #{t}",
-            'creates' => "/etc/apt/sources.list.d/#{filename}",
-            'require' => ["File[/etc/apt/sources.list.d]", "Package[#{package}]"],
+            'unless'  => "/usr/bin/test -s /etc/apt/sources.list.d/#{filename}",
+            'require' => ["File[sources.list.d]", "Package[#{package}]"],
             'notify'  => "Exec[apt_update]"
             )
           }
@@ -74,8 +85,8 @@ describe 'apt::ppa', :type => :define do
         it { should contain_exec("add-apt-repository-#{title}").with(
           'environment' => [],
           'command'     => "/usr/bin/add-apt-repository #{options} #{title}",
-          'creates'     => "/etc/apt/sources.list.d/#{filename}",
-          'require'     => ["File[/etc/apt/sources.list.d]", "Package[#{package}]"],
+          'unless'      => "/usr/bin/test -s /etc/apt/sources.list.d/#{filename}",
+          'require'     => ["File[sources.list.d]", "Package[#{package}]"],
           'notify'      => "Exec[apt_update]"
           )
         }
@@ -100,8 +111,8 @@ describe 'apt::ppa', :type => :define do
             "https_proxy=http://user:pass@proxy:8080",
           ],
           'command'     => "/usr/bin/add-apt-repository #{options} #{title}",
-          'creates'     => "/etc/apt/sources.list.d/#{filename}",
-          'require'     => ["File[/etc/apt/sources.list.d]", "Package[#{package}]"],
+          'unless'      => "/usr/bin/test -s /etc/apt/sources.list.d/#{filename}",
+          'require'     => ["File[sources.list.d]", "Package[#{package}]"],
           'notify'      => "Exec[apt_update]"
           )
         }
@@ -109,7 +120,7 @@ describe 'apt::ppa', :type => :define do
     end
   end
 
-  [ { :lsbdistcodename => 'natty', 
+  [ { :lsbdistcodename => 'natty',
       :package => 'python-software-properties' },
     { :lsbdistcodename => 'quantal',
       :package => 'software-properties-common'},
@@ -121,7 +132,9 @@ describe 'apt::ppa', :type => :define do
            'package { "#{platform[:package]}": }->Apt::Ppa["ppa"]'
         end
         let :facts do
-          {:lsbdistcodename => '#{platform[:lsbdistcodename]}'}
+          {:lsbdistcodename => '#{platform[:lsbdistcodename]}',
+           :operatingsystem => 'Ubuntu',
+           :lsbdistid => 'Ubuntu'}
         end
         let(:title) { "ppa" }
         let(:release) { "#{platform[:lsbdistcodename]}" }