Fixed tests for cf04f76
[puppet-modules/puppetlabs-apt.git] / spec / defines / ppa_spec.rb
index d12c70c84d85333fa549669517b07654c9251b17..5b59f57776bc389e4f1c4bf7e9ef24ac09ab8e67 100644 (file)
@@ -45,7 +45,7 @@ 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}",
+            'unless'  => "/usr/bin/test -s /etc/apt/sources.list.d/#{filename}",
             'require' => ["File[/etc/apt/sources.list.d]", "Package[#{package}]"],
             'notify'  => "Exec[apt_update]"
             )
@@ -58,6 +58,29 @@ describe 'apt::ppa', :type => :define do
           }
         end
       end
+      describe 'without a proxy defined' do
+        let :title do
+          'rspec_ppa'
+        end
+        let :pre_condition do
+          'class { "apt":
+             proxy_host => false
+          }'
+        end
+        let :filename do
+          "#{title}-#{release}.list"
+        end
+
+        it { should contain_exec("add-apt-repository-#{title}").with(
+          'environment' => [],
+          'command'     => "/usr/bin/add-apt-repository #{options} #{title}",
+          'unless'      => "/usr/bin/test -s /etc/apt/sources.list.d/#{filename}",
+          'require'     => ["File[/etc/apt/sources.list.d]", "Package[#{package}]"],
+          'notify'      => "Exec[apt_update]"
+          )
+        }
+      end
+
       describe 'behind a proxy' do
         let :title do
           'rspec_ppa'
@@ -77,7 +100,7 @@ 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}",
+          'unless'      => "/usr/bin/test -s /etc/apt/sources.list.d/#{filename}",
           'require'     => ["File[/etc/apt/sources.list.d]", "Package[#{package}]"],
           'notify'      => "Exec[apt_update]"
           )