[MODULES-4528] Replace Puppet.version.to_f with Puppet::Util::Package.versioncmp
[puppet-modules/puppetlabs-apt.git] / spec / defines / key_compat_spec.rb
index 872bcadcd66560240e0e8c3a18e4d7255ab81dce..eaf53fca45e495ccf0c52e44fae974ed3e6c3c97 100644 (file)
@@ -1,27 +1,35 @@
 require 'spec_helper'
 
 describe 'apt::key', :type => :define do
-  let(:facts) { { :lsbdistid => 'Debian' } }
-  GPG_KEY_ID = '47B320EB4C7C375AA9DAE1A01054B7A24BD6EC30'
+  let(:facts) { {
+    :lsbdistid => 'Debian',
+    :osfamily => 'Debian',
+    :puppetversion => Puppet.version,
+  } }
+  GPG_KEY_ID = '6F6B15509CF8E59E6E469F327F438280EF8D349F'
 
   let :title do
     GPG_KEY_ID
   end
 
+  let :pre_condition do
+    'include apt'
+  end
+
   describe 'normal operation' do
     describe 'default options' do
-      it 'contains the apt_key' do
-        should contain_apt_key(title).with({
+      it {
+        is_expected.to contain_apt_key(title).with({
           :id                => title,
           :ensure            => 'present',
           :source            => nil,
-          :server            => nil,
+          :server            => 'keyserver.ubuntu.com',
           :content           => nil,
           :keyserver_options => nil,
         })
-      end
+      }
       it 'contains the apt_key present anchor' do
-        should contain_anchor("apt_key #{title} present")
+        is_expected.to contain_anchor("apt_key #{title} present")
       end
     end
 
@@ -35,17 +43,17 @@ describe 'apt::key', :type => :define do
       } end
 
       it 'contains the apt_key' do
-        should contain_apt_key(title).with({
+        is_expected.to contain_apt_key(title).with({
           :id                => GPG_KEY_ID,
           :ensure            => 'present',
           :source            => nil,
-          :server            => nil,
+          :server            => 'keyserver.ubuntu.com',
           :content           => nil,
           :keyserver_options => nil,
         })
       end
       it 'contains the apt_key present anchor' do
-        should contain_anchor("apt_key #{GPG_KEY_ID} present")
+        is_expected.to contain_anchor("apt_key #{GPG_KEY_ID} present")
       end
     end
 
@@ -55,17 +63,17 @@ describe 'apt::key', :type => :define do
       } end
 
       it 'contains the apt_key' do
-        should contain_apt_key(title).with({
+        is_expected.to contain_apt_key(title).with({
           :id                => title,
           :ensure            => 'absent',
           :source            => nil,
-          :server            => nil,
+          :server            => 'keyserver.ubuntu.com',
           :content           => nil,
           :keyserver_options => nil,
         })
       end
       it 'contains the apt_key absent anchor' do
-        should contain_anchor("apt_key #{title} absent")
+        is_expected.to contain_anchor("apt_key #{title} absent")
       end
     end
 
@@ -78,7 +86,7 @@ describe 'apt::key', :type => :define do
       } end
 
       it 'contains the apt_key' do
-        should contain_apt_key(title).with({
+        is_expected.to contain_apt_key(title).with({
           :id      => title,
           :ensure  => 'present',
           :source  => 'http://apt.puppetlabs.com/pubkey.gpg',
@@ -88,7 +96,7 @@ describe 'apt::key', :type => :define do
         })
       end
       it 'contains the apt_key present anchor' do
-        should contain_anchor("apt_key #{title} present")
+        is_expected.to contain_anchor("apt_key #{title} present")
       end
     end
 
@@ -97,7 +105,7 @@ describe 'apt::key', :type => :define do
         :key_server => 'p-gp.m-it.edu',
       } end
       it 'contains the apt_key' do
-        should contain_apt_key(title).with({
+        is_expected.to contain_apt_key(title).with({
           :id        => title,
           :server => 'p-gp.m-it.edu',
         })
@@ -111,7 +119,7 @@ describe 'apt::key', :type => :define do
         }
       end
       it 'contains the apt_key' do
-        should contain_apt_key(title).with({
+        is_expected.to contain_apt_key(title).with({
           :id        => title,
           :server => 'hkp://pgp.mit.edu',
         })
@@ -124,7 +132,7 @@ describe 'apt::key', :type => :define do
         }
       end
       it 'contains the apt_key' do
-        should contain_apt_key(title).with({
+        is_expected.to contain_apt_key(title).with({
           :id        => title,
           :server => 'hkp://pgp.mit.edu:80',
         })
@@ -276,36 +284,42 @@ describe 'apt::key', :type => :define do
     describe 'duplication' do
       context 'two apt::key resources for same key, different titles' do
         let :pre_condition do
-          "apt::key { 'duplicate': key => '#{title}', }"
+          "#{super()}\napt::key { 'duplicate': key => '#{title}', }"
         end
 
-        it 'contains two apt::key resources' do
-          should contain_apt__key('duplicate').with({
+        it 'contains the duplicate apt::key resource' do
+          is_expected.to contain_apt__key('duplicate').with({
             :key    => title,
             :ensure => 'present',
           })
-          should contain_apt__key(title).with({
+        end
+
+        it 'contains the original apt::key resource' do
+          is_expected.to contain_apt__key(title).with({
             :id     => title,
             :ensure => 'present',
           })
         end
 
-        it 'contains only a single apt_key' do
-          should contain_apt_key('duplicate').with({
+        it 'contains the native apt_key' do
+          is_expected.to contain_apt_key('duplicate').with({
             :id                => title,
             :ensure            => 'present',
             :source            => nil,
-            :server            => nil,
+            :server            => 'keyserver.ubuntu.com',
             :content           => nil,
             :keyserver_options => nil,
           })
-          should_not contain_apt_key(title)
+        end
+
+        it 'does not contain the original apt_key' do
+          is_expected.not_to contain_apt_key(title)
         end
       end
 
       context 'two apt::key resources, different ensure' do
         let :pre_condition do
-          "apt::key { 'duplicate': key => '#{title}', ensure => 'absent', }"
+          "#{super()}\napt::key { 'duplicate': key => '#{title}', ensure => 'absent', }"
         end
         it 'informs the user of the impossibility' do
           expect { subject.call }.to raise_error(/already ensured as absent/)