+# frozen_string_literal: true
+
require 'spec_helper_acceptance'
-describe 'apt class' do
+everything_everything_pp = <<-MANIFEST
+ $sources = {
+ 'puppetlabs' => {
+ 'ensure' => present,
+ 'location' => 'http://apt.puppetlabs.com',
+ 'repos' => 'main',
+ 'key' => {
+ 'id' => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
+ 'server' => 'keyserver.ubuntu.com',
+ },
+ },
+ }
+ class { 'apt':
+ update => {
+ 'frequency' => 'always',
+ 'timeout' => 400,
+ 'tries' => 3,
+ },
+ purge => {
+ 'sources.list' => true,
+ 'sources.list.d' => true,
+ 'preferences' => true,
+ 'preferences.d' => true,
+ 'apt.conf.d' => true,
+ },
+ sources => $sources,
+ }
+ MANIFEST
- context 'reset' do
+describe 'apt class' do
+ context 'with reset' do
it 'fixes the sources.list' do
- shell('cp /etc/apt/sources.list /tmp')
+ run_shell('cp /etc/apt/sources.list /tmp')
end
end
- context 'all the things' do
- it 'should work with no errors' do
- pp = <<-EOS
- class { 'apt':
- always_apt_update => true,
- disable_keys => true,
- purge_sources_list => true,
- purge_sources_list_d => true,
- purge_preferences => true,
- purge_preferences_d => true,
- update_timeout => '400',
- update_tries => '3',
- sources => {
- 'puppetlabs' => {
- 'ensure' => present,
- 'location' => 'http://apt.puppetlabs.com',
- 'repos' => 'main',
- 'key' => '4BD6EC30',
- 'key_server' => 'pgp.mit.edu',
- }
- },
- fancy_progress => true,
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- apply_manifest(pp, :catch_failures => true)
+ context 'with all the things' do
+ it 'works with no errors' do
+ # Apply the manifest (Retry if timeout error is received from key pool)
+ retry_on_error_matching do
+ apply_manifest(everything_everything_pp, catch_failures: true)
+ end
end
- it 'should still work' do
- shell('apt-get update')
- shell('apt-get -y --force-yes upgrade')
+ it 'stills work' do
+ run_shell('apt-get update')
+ run_shell('apt-get -y --force-yes upgrade')
end
end
- context 'reset' do
+ context 'with reset' do
it 'fixes the sources.list' do
- shell('cp /tmp/sources.list /etc/apt')
+ run_shell('cp /tmp/sources.list /etc/apt')
end
end
-
end