MODULES-2190 - Fix anchor issues

This commit is contained in:
Morgan Haskel 2015-07-17 16:19:33 -07:00
parent 5594aa10d2
commit cd37fc34f2
8 changed files with 35 additions and 34 deletions

View file

@ -26,7 +26,7 @@ class apt(
}
$_update = merge($::apt::update_defaults, $update)
include apt::update
include ::apt::update
validate_hash($purge)
if $purge['sources.list'] {
@ -99,7 +99,7 @@ class apt(
group => root,
mode => '0644',
content => $sources_list_content,
notify => Exec['apt_update'],
notify => Class['apt::update'],
}
file { 'sources.list.d':
@ -110,7 +110,7 @@ class apt(
mode => '0644',
purge => $_purge['sources.list.d'],
recurse => $_purge['sources.list.d'],
notify => Exec['apt_update'],
notify => Class['apt::update'],
}
file { 'preferences':
@ -119,7 +119,7 @@ class apt(
owner => root,
group => root,
mode => '0644',
notify => Exec['apt_update'],
notify => Class['apt::update'],
}
file { 'preferences.d':
@ -130,11 +130,9 @@ class apt(
mode => '0644',
purge => $_purge['preferences.d'],
recurse => $_purge['preferences.d'],
notify => Exec['apt_update'],
notify => Class['apt::update'],
}
anchor { 'apt_first': } -> Class['apt::update'] -> anchor { 'apt_last': }
# manage sources if present
if $sources {
create_resources('apt::source', $sources)

View file

@ -45,7 +45,7 @@ define apt::ppa(
unless => "/usr/bin/test -s ${::apt::sources_list_d}/${sources_list_d_filename}",
user => 'root',
logoutput => 'on_failure',
notify => Exec['apt_update'],
notify => Class['apt::update'],
require => $_require,
}
@ -57,7 +57,7 @@ define apt::ppa(
else {
file { "${::apt::sources_list_d}/${sources_list_d_filename}":
ensure => 'absent',
notify => Exec['apt_update'],
notify => Class['apt::update'],
}
}
}

View file

@ -47,7 +47,7 @@ define apt::setting (
$_ext = $::apt::params::config_files[$setting_type]['ext']
if $notify_update {
$_notify = Exec['apt_update']
$_notify = Class['apt::update']
} else {
$_notify = undef
}

View file

@ -23,7 +23,8 @@ define apt::source(
validate_bool($allow_unsigned)
validate_hash($include)
include 'apt::params'
# This is needed for compat with 1.8.x
include ::apt
$_before = Apt::Setting["list-${title}"]

View file

@ -3,16 +3,16 @@ describe 'apt' do
let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian', :lsbdistcodename => 'wheezy', :puppetversion => Puppet.version} }
context 'defaults' do
it { is_expected.to contain_file('sources.list').that_notifies('Exec[apt_update]').only_with({
it { is_expected.to contain_file('sources.list').that_notifies('Class[Apt::Update]').only_with({
:ensure => 'file',
:path => '/etc/apt/sources.list',
:owner => 'root',
:group => 'root',
:mode => '0644',
:notify => 'Exec[apt_update]',
:notify => 'Class[Apt::Update]',
})}
it { is_expected.to contain_file('sources.list.d').that_notifies('Exec[apt_update]').only_with({
it { is_expected.to contain_file('sources.list.d').that_notifies('Class[Apt::Update]').only_with({
:ensure => 'directory',
:path => '/etc/apt/sources.list.d',
:owner => 'root',
@ -20,19 +20,19 @@ describe 'apt' do
:mode => '0644',
:purge => false,
:recurse => false,
:notify => 'Exec[apt_update]',
:notify => 'Class[Apt::Update]',
})}
it { is_expected.to contain_file('preferences').that_notifies('Exec[apt_update]').only_with({
it { is_expected.to contain_file('preferences').that_notifies('Class[Apt::Update]').only_with({
:ensure => 'file',
:path => '/etc/apt/preferences',
:owner => 'root',
:group => 'root',
:mode => '0644',
:notify => 'Exec[apt_update]',
:notify => 'Class[Apt::Update]',
})}
it { is_expected.to contain_file('preferences.d').that_notifies('Exec[apt_update]').only_with({
it { is_expected.to contain_file('preferences.d').that_notifies('Class[Apt::Update]').only_with({
:ensure => 'directory',
:path => '/etc/apt/preferences.d',
:owner => 'root',
@ -40,7 +40,7 @@ describe 'apt' do
:mode => '0644',
:purge => false,
:recurse => false,
:notify => 'Exec[apt_update]',
:notify => 'Class[Apt::Update]',
})}
it 'should lay down /etc/apt/apt.conf.d/15update-stamp' do

View file

@ -18,7 +18,7 @@ describe 'apt::ppa' do
let(:title) { 'ppa:needs/such.substitution/wow' }
it { is_expected.to_not contain_package('python-software-properties') }
it { is_expected.to contain_exec('add-apt-repository-ppa:needs/such.substitution/wow').that_notifies('Exec[apt_update]').with({
it { is_expected.to contain_exec('add-apt-repository-ppa:needs/such.substitution/wow').that_notifies('Class[Apt::Update]').with({
:environment => [],
:command => '/usr/bin/add-apt-repository -y ppa:needs/such.substitution/wow',
:unless => '/usr/bin/test -s /etc/apt/sources.list.d/needs-such_substitution-wow-natty.list',
@ -57,7 +57,7 @@ describe 'apt::ppa' do
let(:title) { 'ppa:needs/such.substitution/wow' }
it { is_expected.to contain_package('software-properties-common') }
it { is_expected.to contain_exec('add-apt-repository-ppa:needs/such.substitution/wow').that_notifies('Exec[apt_update]').with({
it { is_expected.to contain_exec('add-apt-repository-ppa:needs/such.substitution/wow').that_notifies('Class[Apt::Update]').with({
'environment' => [],
'command' => '/usr/bin/add-apt-repository -y ppa:needs/such.substitution/wow',
'unless' => '/usr/bin/test -s /etc/apt/sources.list.d/needs-such_substitution-wow-natty.list',
@ -94,7 +94,7 @@ describe 'apt::ppa' do
let(:title) { 'ppa:needs/such.substitution/wow' }
it { is_expected.to_not contain_package('python-software-properties') }
it { is_expected.to contain_exec('add-apt-repository-ppa:needs/such.substitution/wow').that_notifies('Exec[apt_update]').with({
it { is_expected.to contain_exec('add-apt-repository-ppa:needs/such.substitution/wow').that_notifies('Class[Apt::Update]').with({
'environment' => [],
'command' => '/usr/bin/add-apt-repository -y ppa:needs/such.substitution/wow',
'unless' => '/usr/bin/test -s /etc/apt/sources.list.d/needs-such_substitution-wow-natty.list',
@ -135,7 +135,7 @@ describe 'apt::ppa' do
let(:title) { 'ppa:foo' }
it { is_expected.to compile.with_all_deps }
it { is_expected.to contain_package('software-properties-common') }
it { is_expected.to contain_exec('add-apt-repository-ppa:foo').that_notifies('Exec[apt_update]').with({
it { is_expected.to contain_exec('add-apt-repository-ppa:foo').that_notifies('Class[Apt::Update]').with({
:environment => [],
:command => '/usr/bin/add-apt-repository ppa:foo',
:unless => '/usr/bin/test -s /etc/apt/sources.list.d/foo-trusty.list',
@ -169,7 +169,7 @@ describe 'apt::ppa' do
end
let(:title) { 'ppa:foo' }
it { is_expected.to contain_package('software-properties-common') }
it { is_expected.to contain_exec('add-apt-repository-ppa:foo').that_notifies('Exec[apt_update]').with({
it { is_expected.to contain_exec('add-apt-repository-ppa:foo').that_notifies('Class[Apt::Update]').with({
:environment => ['http_proxy=http://localhost:8080'],
:command => '/usr/bin/add-apt-repository ppa:foo',
:unless => '/usr/bin/test -s /etc/apt/sources.list.d/foo-trusty.list',
@ -203,7 +203,7 @@ describe 'apt::ppa' do
end
let(:title) { 'ppa:foo' }
it { is_expected.to contain_package('software-properties-common') }
it { is_expected.to contain_exec('add-apt-repository-ppa:foo').that_notifies('Exec[apt_update]').with({
it { is_expected.to contain_exec('add-apt-repository-ppa:foo').that_notifies('Class[Apt::Update]').with({
:environment => ['http_proxy=http://localhost:8180'],
:command => '/usr/bin/add-apt-repository ppa:foo',
:unless => '/usr/bin/test -s /etc/apt/sources.list.d/foo-trusty.list',
@ -237,7 +237,7 @@ describe 'apt::ppa' do
end
let(:title) { 'ppa:foo' }
it { is_expected.to contain_package('software-properties-common') }
it { is_expected.to contain_exec('add-apt-repository-ppa:foo').that_notifies('Exec[apt_update]').with({
it { is_expected.to contain_exec('add-apt-repository-ppa:foo').that_notifies('Class[Apt::Update]').with({
:environment => ['http_proxy=http://localhost:8180', 'https_proxy=https://localhost:8180'],
:command => '/usr/bin/add-apt-repository ppa:foo',
:unless => '/usr/bin/test -s /etc/apt/sources.list.d/foo-trusty.list',
@ -267,7 +267,7 @@ describe 'apt::ppa' do
:ensure => 'absent'
}
end
it { is_expected.to contain_file('/etc/apt/sources.list.d/foo-trusty.list').that_notifies('Exec[apt_update]').with({
it { is_expected.to contain_file('/etc/apt/sources.list.d/foo-trusty.list').that_notifies('Class[Apt::Update]').with({
:ensure => 'absent',
})
}

View file

@ -16,25 +16,25 @@ describe 'apt::setting' do
context 'with title=conf-teddybear ' do
let(:params) { default_params }
it { is_expected.to contain_file('/etc/apt/apt.conf.d/50teddybear').that_notifies('Exec[apt_update]') }
it { is_expected.to contain_file('/etc/apt/apt.conf.d/50teddybear').that_notifies('Class[Apt::Update]') }
end
context 'with title=pref-teddybear' do
let(:title) { 'pref-teddybear' }
let(:params) { default_params }
it { is_expected.to contain_file('/etc/apt/preferences.d/50teddybear').that_notifies('Exec[apt_update]') }
it { is_expected.to contain_file('/etc/apt/preferences.d/50teddybear').that_notifies('Class[Apt::Update]') }
end
context 'with title=list-teddybear' do
let(:title) { 'list-teddybear' }
let(:params) { default_params }
it { is_expected.to contain_file('/etc/apt/sources.list.d/teddybear.list').that_notifies('Exec[apt_update]') }
it { is_expected.to contain_file('/etc/apt/sources.list.d/teddybear.list').that_notifies('Class[Apt::Update]') }
end
context 'with source' do
let(:params) { { :source => 'puppet:///la/die/dah' } }
it {
is_expected.to contain_file('/etc/apt/apt.conf.d/50teddybear').that_notifies('Exec[apt_update]').with({
is_expected.to contain_file('/etc/apt/apt.conf.d/50teddybear').that_notifies('Class[Apt::Update]').with({
:ensure => 'file',
:owner => 'root',
:group => 'root',
@ -45,7 +45,7 @@ describe 'apt::setting' do
context 'with content' do
let(:params) { default_params }
it { is_expected.to contain_file('/etc/apt/apt.conf.d/50teddybear').that_notifies('Exec[apt_update]').with({
it { is_expected.to contain_file('/etc/apt/apt.conf.d/50teddybear').that_notifies('Class[Apt::Update]').with({
:ensure => 'file',
:owner => 'root',
:group => 'root',
@ -103,12 +103,12 @@ describe 'apt::setting' do
describe 'with priority=100' do
let(:params) { default_params.merge({ :priority => 100 }) }
it { is_expected.to contain_file('/etc/apt/apt.conf.d/100teddybear').that_notifies('Exec[apt_update]') }
it { is_expected.to contain_file('/etc/apt/apt.conf.d/100teddybear').that_notifies('Class[Apt::Update]') }
end
describe 'with ensure=absent' do
let(:params) { default_params.merge({ :ensure => 'absent' }) }
it { is_expected.to contain_file('/etc/apt/apt.conf.d/50teddybear').that_notifies('Exec[apt_update]').with({
it { is_expected.to contain_file('/etc/apt/apt.conf.d/50teddybear').that_notifies('Class[Apt::Update]').with({
:ensure => 'absent',
})}
end

View file

@ -70,6 +70,8 @@ describe 'apt::source' do
}).with_content(/hello.there wheezy main\n/)
}
it { is_expected.to contain_file('/etc/apt/sources.list.d/my_source.list').that_notifies('Class[Apt::Update]')}
it { is_expected.to contain_apt__pin('my_source').that_comes_before('Apt::Setting[list-my_source]').with({
:ensure => 'present',
:priority => 1001,