Merge pull request #237 from hunner/change_port
[puppet-modules/puppetlabs-apt.git] / spec / acceptance / apt_ppa_spec.rb
index 5bee3c69ef6b037267e34200c0c67970428fb31e..60e6d4d4b2e605f8fc3859bdaa5b6021b31d89c2 100644 (file)
 require 'spec_helper_acceptance'
 
-describe 'apt::ppa' do
+if fact('operatingsystem') == 'Ubuntu'
+  describe 'apt::ppa' do
 
-  context 'reset' do
-    it 'removes ppa' do
-      shell('rm /etc/apt/sources.list.d/canonical-kernel-team-ppa-*', :acceptable_exit_codes => [0,1,2])
-      shell('rm /etc/apt/sources.list.d/raravena80-collectd5-*', :acceptable_exit_codes => [0,1,2])
+    context 'reset' do
+      it 'removes ppa' do
+        shell('rm /etc/apt/sources.list.d/canonical-kernel-team-ppa-*', :acceptable_exit_codes => [0,1,2])
+        shell('rm /etc/apt/sources.list.d/raravena80-collectd5-*', :acceptable_exit_codes => [0,1,2])
+      end
     end
-  end
 
-  context 'adding a ppa that doesnt exist' do
-    it 'should work with no errors' do
-      pp = <<-EOS
-      include '::apt'
-      apt::ppa { 'ppa:canonical-kernel-team/ppa': }
-      EOS
+    context 'adding a ppa that doesnt exist' do
+      it 'should work with no errors' do
+        pp = <<-EOS
+        include '::apt'
+        apt::ppa { 'ppa:canonical-kernel-team/ppa': }
+        EOS
 
-      apply_manifest(pp, :catch_failures => true)
+        apply_manifest(pp, :catch_failures => true)
+      end
+
+      describe 'contains the source file' do
+        it 'contains a kernel ppa source' do
+          shell('ls /etc/apt/sources.list.d/canonical-kernel-team-ppa-*', :acceptable_exit_codes => [0])
+        end
+      end
     end
 
-    describe 'contains the source file' do
-      it 'contains a kernel ppa source' do
-        shell('ls /etc/apt/sources.list.d/canonical-kernel-team-ppa-*', :acceptable_exit_codes => [0])
+    context 'reading a removed ppa.' do
+      it 'setup' do
+        # This leaves a blank file
+        shell('echo > /etc/apt/sources.list.d/raravena80-collectd5-$(lsb_release -c -s).list')
+      end
+
+      it 'should read it successfully' do
+        pp = <<-EOS
+        include '::apt'
+        apt::ppa { 'ppa:raravena80/collectd5': }
+        EOS
+
+        apply_manifest(pp, :catch_failures => true)
       end
     end
-  end
 
-  context 'readding a removed ppa.' do
-    it 'setup' do
-      shell('add-apt-repository -y ppa:raravena80/collectd5')
-      # This leaves a blank file
-      shell('add-apt-repository --remove ppa:raravena80/collectd5')
+    context 'reset' do
+      it 'removes added ppas' do
+        shell('rm /etc/apt/sources.list.d/canonical-kernel-team-ppa-*')
+        shell('rm /etc/apt/sources.list.d/raravena80-collectd5-*')
+      end
     end
 
-    it 'should readd it successfully' do
-      pp = <<-EOS
-      include '::apt'
-      apt::ppa { 'ppa:raravena80/collectd5': }
-      EOS
+    context 'release' do
+      context 'precise' do
+        it 'works without failure' do
+          pp = <<-EOS
+          include '::apt'
+          apt::ppa { 'ppa:canonical-kernel-team/ppa':
+            release => precise,
+          }
+          EOS
 
-      apply_manifest(pp, :catch_failures => true)
+          shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2])
+          apply_manifest(pp, :catch_failures => true)
+        end
+
+        describe file('/etc/apt/sources.list.d/canonical-kernel-team-ppa-precise.list') do
+          it { should be_file }
+        end
+      end
     end
-  end
 
-  context 'reset' do
-    it 'removes added ppas' do
-      shell('rm /etc/apt/sources.list.d/canonical-kernel-team-ppa-*')
-      shell('rm /etc/apt/sources.list.d/raravena80-collectd5-*')
+    if ! default[:platform].match(/10\.04/)
+      context 'options' do
+        context '-y' do
+          it 'works without failure' do
+            pp = <<-EOS
+            include '::apt'
+            apt::ppa { 'ppa:canonical-kernel-team/ppa':
+              release => precise,
+              options => '-y',
+            }
+            EOS
+
+            shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2])
+            apply_manifest(pp, :catch_failures => true)
+          end
+
+          describe file('/etc/apt/sources.list.d/canonical-kernel-team-ppa-precise.list') do
+            it { should be_file }
+          end
+        end
+      end
+
+      context 'reset' do
+        it { shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2]) }
+      end
     end
   end
-
 end