From 91092bdc80f5b46bfd38ad4cd53bb5f6bf096e3c Mon Sep 17 00:00:00 2001 From: Daniel Hoherd Date: Fri, 18 Mar 2016 10:08:30 -0700 Subject: [PATCH] Exposing notify_update to apt::source --- README.md | 2 ++ manifests/source.pp | 6 +++-- spec/defines/source_spec.rb | 53 +++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 345a0f3..6ea11d7 100644 --- a/README.md +++ b/README.md @@ -485,6 +485,8 @@ Manages the Apt sources in `/etc/apt/sources.list.d/`. * `trusted_source`: Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked. Valid options: 'true' and 'false'. Default: undef. This parameter is **deprecated** and will be removed in a future version of the module. +* `notify_update`: *Optional.* Specifies whether to trigger an `apt-get update` run. Valid options: 'true' and 'false'. Default: 'true'. + #### Type: `apt_key` Manages the GPG keys that Apt uses to authenticate packages. diff --git a/manifests/source.pp b/manifests/source.pp index 1307a3a..0bb9b3b 100644 --- a/manifests/source.pp +++ b/manifests/source.pp @@ -18,6 +18,7 @@ define apt::source( $key_content = undef, $key_source = undef, $trusted_source = undef, + $notify_update = undef, ) { validate_string($architecture, $comment, $location, $repos) validate_bool($allow_unsigned) @@ -114,8 +115,9 @@ define apt::source( } apt::setting { "list-${name}": - ensure => $ensure, - content => template('apt/_header.erb', 'apt/source.list.erb'), + ensure => $ensure, + content => template('apt/_header.erb', 'apt/source.list.erb'), + notify_update => $notify_update, } if $pin { diff --git a/spec/defines/source_spec.rb b/spec/defines/source_spec.rb index cfae55c..4c3321a 100644 --- a/spec/defines/source_spec.rb +++ b/spec/defines/source_spec.rb @@ -387,5 +387,58 @@ describe 'apt::source' do end end + context "with notify_update = undef (default)" do + let :facts do + { + :lsbdistid => 'Debian', + :lsbdistcodename => 'wheezy', + :osfamily => 'Debian', + :puppetversion => Puppet.version, + } + end + let :params do + { + :location => 'hello.there', + } + end + it { is_expected.to contain_apt__setting("list-#{title}").with_notify_update(true) } + end + + context "with notify_update = true" do + let :facts do + { + :lsbdistid => 'Debian', + :lsbdistcodename => 'wheezy', + :osfamily => 'Debian', + :puppetversion => Puppet.version, + } + end + let :params do + { + :location => 'hello.there', + :notify_update => true, + } + end + it { is_expected.to contain_apt__setting("list-#{title}").with_notify_update(true) } + end + + context "with notify_update = false" do + let :facts do + { + :lsbdistid => 'Debian', + :lsbdistcodename => 'wheezy', + :osfamily => 'Debian', + :puppetversion => Puppet.version, + } + end + let :params do + { + :location => 'hello.there', + :notify_update => false, + } + end + it { is_expected.to contain_apt__setting("list-#{title}").with_notify_update(false) } + end + end end -- 2.45.2