From: Morgan Haskel Date: Wed, 29 Apr 2015 22:34:43 +0000 (-0700) Subject: Merge pull request #516 from dlactin/feature/master/apt_reboot_required_fact X-Git-Tag: 2.1.0~16 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=96d48eca08b0376a04ac0cb7338867f61c78b1e4;hp=55a17ac5916110ad996e85af05a18fbdf21a90d5;p=puppet-modules%2Fpuppetlabs-apt.git Merge pull request #516 from dlactin/feature/master/apt_reboot_required_fact Added new apt_reboot_required fact, updated readme, and added unit tests --- diff --git a/README.md b/README.md index e8e6d39..f3a8fc7 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,8 @@ apt::sources: * `apt_update_last_success`: The date, in epochtime, of the most recent successful `apt-get update` run (based on the mtime of /var/lib/apt/periodic/update-success-stamp). +* `apt_reboot_required`: Determines if a reboot is necessary after updates have been installed. + #### Class: `apt` Main class, includes all other classes. diff --git a/lib/facter/apt_reboot_required.rb b/lib/facter/apt_reboot_required.rb new file mode 100644 index 0000000..8de904a --- /dev/null +++ b/lib/facter/apt_reboot_required.rb @@ -0,0 +1,7 @@ +# apt_reboot_required.rb +Facter.add(:apt_reboot_required) do + confine :osfamily => 'Debian' + setcode do + File.file?('/var/run/reboot-required') + end +end diff --git a/spec/unit/facter/apt_reboot_required_spec.rb b/spec/unit/facter/apt_reboot_required_spec.rb new file mode 100644 index 0000000..ab3490a --- /dev/null +++ b/spec/unit/facter/apt_reboot_required_spec.rb @@ -0,0 +1,23 @@ +require 'spec_helper' + +describe 'apt_reboot_required fact' do + subject { Facter.fact(:apt_reboot_required).value } + after(:each) { Facter.clear } + + describe 'if a reboot is required' do + before { + Facter.fact(:osfamily).stubs(:value).returns 'Debian' + File.stubs(:file?).returns true + } + it { expect(Facter.fact(:apt_reboot_required).value).to eq true } + end + + describe 'if a reboot is not required' do + before { + Facter.fact(:osfamily).stubs(:value).returns 'Debian' + File.stubs(:file?).returns false + } + it { expect(Facter.fact(:apt_reboot_required).value).to eq false } + end + +end