Merge pull request #375 from raphink/dev/facts_perfs
[puppet-modules/puppetlabs-apt.git] / spec / classes / backports_spec.rb
index feabef1a1105e0e177bea12a70c9c5931f85a87e..18f6337aefda1ca5bd1b30682011de5058f41fa2 100644 (file)
@@ -1,23 +1,54 @@
 require 'spec_helper'
 describe 'apt::backports', :type => :class do
 
+  describe 'when asigning a custom priority to backports' do
+    let :facts do
+      {
+        'lsbdistcodename' => 'Karmic',
+        'lsbdistid'       => 'Ubuntu',
+        'osfamily'        => 'Debian'
+      }
+    end
+
+    context 'integer priority' do
+      let :params do { :pin_priority => 500 } end
+
+      it { should contain_apt__source('backports').with({
+          'location'   => 'http://old-releases.ubuntu.com/ubuntu',
+          'release'    => 'karmic-backports',
+          'repos'      => 'main universe multiverse restricted',
+          'key'        => '437D05B5',
+          'key_server' => 'pgp.mit.edu',
+          'pin'        => 500,
+        })
+      }
+    end
+
+    context 'invalid priority' do
+      let :params do { :pin_priority => 'banana' } end
+      it 'should fail' do
+        expect { subject }.to raise_error(/must be an integer/)
+      end
+    end
+  end
+
   describe 'when turning on backports for ubuntu karmic' do
 
     let :facts do
       {
         'lsbdistcodename' => 'Karmic',
-        'lsbdistid'       => 'Ubuntu'
+        'lsbdistid'       => 'Ubuntu',
+        'osfamily'        => 'Debian'
       }
     end
 
-    it { should contain_apt__source('backports.list').with({
+    it { should contain_apt__source('backports').with({
         'location'   => 'http://old-releases.ubuntu.com/ubuntu',
         'release'    => 'karmic-backports',
-        'repos'      => 'universe multiverse restricted',
+        'repos'      => 'main universe multiverse restricted',
         'key'        => '437D05B5',
         'key_server' => 'pgp.mit.edu',
-        'pin'        => '200',
-        'notify'     => 'Exec[apt_update]'
+        'pin'        => 200,
       })
     }
   end
@@ -28,17 +59,59 @@ describe 'apt::backports', :type => :class do
       {
         'lsbdistcodename' => 'Squeeze',
         'lsbdistid'       => 'Debian',
+        'osfamily'        => 'Debian'
       }
     end
 
-    it { should contain_apt__source('backports.list').with({
+    it { should contain_apt__source('backports').with({
         'location'   => 'http://backports.debian.org/debian-backports',
         'release'    => 'squeeze-backports',
         'repos'      => 'main contrib non-free',
-        'key'        => '55BE302B',
+        'key'        => '46925553',
+        'key_server' => 'pgp.mit.edu',
+        'pin'        => 200,
+      })
+    }
+  end
+
+  describe "when turning on backports for linux mint debian edition" do
+
+    let :facts do
+      {
+        'lsbdistcodename' => 'debian',
+        'lsbdistid'       => 'LinuxMint',
+        'osfamily'        => 'Debian'
+      }
+    end
+
+    it { should contain_apt__source('backports').with({
+        'location'   => 'http://ftp.debian.org/debian/',
+        'release'    => 'wheezy-backports',
+        'repos'      => 'main contrib non-free',
+        'key'        => '46925553',
         'key_server' => 'pgp.mit.edu',
-        'pin'        => '200',
-        'notify'     => 'Exec[apt_update]'
+        'pin'        => 200,
+      })
+    }
+  end
+
+  describe "when turning on backports for linux mint 17 (ubuntu-based)" do
+
+    let :facts do
+      {
+        'lsbdistcodename' => 'qiana',
+        'lsbdistid'       => 'LinuxMint',
+        'osfamily'        => 'Debian'
+      }
+    end
+
+    it { should contain_apt__source('backports').with({
+        'location'   => 'http://us.archive.ubuntu.com/ubuntu',
+        'release'    => 'trusty-backports',
+        'repos'      => 'main universe multiverse restricted',
+        'key'        => '437D05B5',
+        'key_server' => 'pgp.mit.edu',
+        'pin'        => 200,
       })
     }
   end
@@ -48,7 +121,8 @@ describe 'apt::backports', :type => :class do
     let :facts do
       {
         'lsbdistcodename' => 'Squeeze',
-        'lsbdistid'       => 'Debian'
+        'lsbdistid'       => 'Debian',
+        'osfamily'        => 'Debian'
       }
     end
 
@@ -60,14 +134,13 @@ describe 'apt::backports', :type => :class do
       { 'location' => location }
     end
 
-    it { should contain_apt__source('backports.list').with({
+    it { should contain_apt__source('backports').with({
         'location'   => location,
         'release'    => 'squeeze-backports',
         'repos'      => 'main contrib non-free',
-        'key'        => '55BE302B',
+        'key'        => '46925553',
         'key_server' => 'pgp.mit.edu',
-        'pin'        => '200',
-        'notify'     => 'Exec[apt_update]'
+        'pin'        => 200,
       })
     }
   end