X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Fclasses%2Fapt_spec.rb;h=f93770e234d004547608cf05e31c7c55aa43557e;hb=1c17887e79e82aad54da47550e953591b56ef212;hp=0c6333ba844a91db2b697956421b565ff1601534;hpb=ecb9bfe4edcb4c285c8c86e39ff047641b814b8e;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/spec/classes/apt_spec.rb b/spec/classes/apt_spec.rb index 0c6333b..f93770e 100644 --- a/spec/classes/apt_spec.rb +++ b/spec/classes/apt_spec.rb @@ -35,7 +35,7 @@ preferences_d = { ensure: 'directory', describe 'apt' do let(:facts) do { - os: { family: 'Debian', name: 'Debian', release: { major: '7', full: '7.0' } }, + os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, lsbdistid: 'Debian', osfamily: 'Debian', lsbdistcodename: 'wheezy', @@ -60,6 +60,8 @@ describe 'apt' do is_expected.to contain_file('preferences.d').that_notifies('Class[Apt::Update]').only_with(preferences_d) } + it { is_expected.to contain_file('/etc/apt/auth.conf').with_ensure('absent') } + it 'lays down /etc/apt/apt.conf.d/15update-stamp' do is_expected.to contain_file('/etc/apt/apt.conf.d/15update-stamp').with(group: 'root', mode: '0644', @@ -186,13 +188,59 @@ describe 'apt' do } end + context 'with entries for /etc/apt/auth.conf' do + let(:params) do + { + auth_conf_entries: [ + { machine: 'deb.example.net', + login: 'foologin', + password: 'secret' }, + { machine: 'apt.example.com', + login: 'aptlogin', + password: 'supersecret' }, + ], + } + end + + auth_conf_content = "// This file is managed by Puppet. DO NOT EDIT. +machine deb.example.net login foologin password secret +machine apt.example.com login aptlogin password supersecret +" + + it { + is_expected.to contain_file('/etc/apt/auth.conf').with(ensure: 'present', + owner: 'root', + group: 'root', + mode: '0600', + notify: 'Class[Apt::Update]', + content: auth_conf_content) + } + end + + context 'with improperly specified entries for /etc/apt/auth.conf' do + let(:params) do + { + auth_conf_entries: [ + { machinn: 'deb.example.net', + username: 'foologin', + password: 'secret' }, + { machine: 'apt.example.com', + login: 'aptlogin', + password: 'supersecret' }, + ], + } + end + + it { is_expected.to raise_error(Puppet::Error) } + end + context 'with sources defined on valid osfamily' do let :facts do - { os: { family: 'Debian', name: 'Ubuntu', release: { major: '12', full: '12.04' } }, + { os: { family: 'Debian', name: 'Ubuntu', release: { major: '16', full: '16.04' } }, osfamily: 'Debian', - lsbdistcodename: 'precise', + lsbdistcodename: 'xenial', lsbdistid: 'Ubuntu', - lsbdistrelease: '12.04', + lsbdistrelease: '16.04', puppetversion: Puppet.version } end let(:params) do @@ -224,15 +272,15 @@ describe 'apt' do is_expected.to contain_apt__setting('list-puppetlabs').with(ensure: 'present') } - it { is_expected.to contain_file('/etc/apt/sources.list.d/puppetlabs.list').with_content(%r{^deb http://apt.puppetlabs.com precise main$}) } + it { is_expected.to contain_file('/etc/apt/sources.list.d/puppetlabs.list').with_content(%r{^deb http://apt.puppetlabs.com xenial main$}) } end context 'with confs defined on valid osfamily' do let :facts do { - os: { family: 'Debian', name: 'Ubuntu', release: { major: '12', full: '12.04.5' } }, + os: { family: 'Debian', name: 'Ubuntu', release: { major: '16', full: '16.04' } }, osfamily: 'Debian', - lsbdistcodename: 'precise', + lsbdistcodename: 'xenial', lsbdistid: 'Debian', puppetversion: Puppet.version, } @@ -260,9 +308,9 @@ describe 'apt' do context 'with keys defined on valid osfamily' do let :facts do { - os: { family: 'Debian', name: 'Ubuntu', release: { major: '12', full: '12.04.5' } }, + os: { family: 'Debian', name: 'Ubuntu', release: { major: '16', full: '16.04' } }, osfamily: 'Debian', - lsbdistcodename: 'precise', + lsbdistcodename: 'xenial', lsbdistid: 'Debian', puppetversion: Puppet.version, } @@ -290,11 +338,11 @@ describe 'apt' do context 'with ppas defined on valid osfamily' do let :facts do { - os: { family: 'Debian', name: 'Ubuntu', release: { major: '12', full: '12.04.5' } }, + os: { family: 'Debian', name: 'Ubuntu', release: { major: '16', full: '16.04' } }, osfamily: 'Debian', - lsbdistcodename: 'precise', + lsbdistcodename: 'xenial', lsbdistid: 'ubuntu', - lsbdistrelease: '12.04', + lsbdistrelease: '16.04', puppetversion: Puppet.version, } end @@ -312,9 +360,9 @@ describe 'apt' do context 'with settings defined on valid osfamily' do let :facts do { - os: { family: 'Debian', name: 'Ubuntu', release: { major: '12', full: '12.04.5' } }, + os: { family: 'Debian', name: 'Ubuntu', release: { major: '16', full: '16.04' } }, osfamily: 'Debian', - lsbdistcodename: 'precise', + lsbdistcodename: 'xenial', lsbdistid: 'Debian', puppetversion: Puppet.version, } @@ -333,9 +381,9 @@ describe 'apt' do context 'with pins defined on valid osfamily' do let :facts do { - os: { family: 'Debian', name: 'Ubuntu', release: { major: '12', full: '12.04.5' } }, + os: { family: 'Debian', name: 'Ubuntu', release: { major: '16', full: '16.04' } }, osfamily: 'Debian', - lsbdistcodename: 'precise', + lsbdistcodename: 'xenial', lsbdistid: 'Debian', puppetversion: Puppet.version, }