Pin rspec gems
[puppet-modules/puppetlabs-apt.git] / spec / unit / facter / apt_package_updates_spec.rb
1 require 'spec_helper'
2
3 describe 'apt_package_updates fact' do
4   subject { Facter.fact(:apt_package_updates).value }
5   after(:each) { Facter.clear }
6
7   describe 'when apt has no updates' do
8     before { 
9       Facter.fact(:apt_has_updates).stubs(:value).returns false
10     }
11     it { should be nil }
12   end
13
14   describe 'when apt has updates' do
15     before { 
16       Facter.fact(:osfamily).stubs(:value).returns 'Debian'
17       File.stubs(:executable?) # Stub all other calls
18       Facter::Util::Resolution.stubs(:exec) # Catch all other calls
19       File.expects(:executable?).with('/usr/lib/update-notifier/apt-check').returns true
20       Facter::Util::Resolution.expects(:exec).with('/usr/lib/update-notifier/apt-check 2>/dev/null').returns "1;2"
21       Facter::Util::Resolution.expects(:exec).with('/usr/lib/update-notifier/apt-check -p 2>/dev/null').returns "puppet-common\nlinux-generic\nlinux-image-generic"
22     }
23     it {
24       if Facter.version < '2.0.0'
25         should == 'puppet-common,linux-generic,linux-image-generic'
26       else
27         should == ['puppet-common', 'linux-generic', 'linux-image-generic']
28       end
29     }
30   end
31 end