X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Fdefines%2Fsource_spec.rb;h=0adcaadf34791bda7549415857a03b078aeae7ea;hb=222d68ee9aca05ab81b6d01994cd88fa73bee5ee;hp=98efb32a4db6da07e27304ef7784bd9d2c40dc5f;hpb=7b98b13df19ef7a073761ed7ba1521dd42012d4f;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/spec/defines/source_spec.rb b/spec/defines/source_spec.rb index 98efb32..0adcaad 100644 --- a/spec/defines/source_spec.rb +++ b/spec/defines/source_spec.rb @@ -1,7 +1,9 @@ +# frozen_string_literal: true + require 'spec_helper' describe 'apt::source' do - GPG_KEY_ID = '6F6B15509CF8E59E6E469F327F438280EF8D349F'.freeze + GPG_KEY_ID = '6F6B15509CF8E59E6E469F327F438280EF8D349F' let :pre_condition do 'class { "apt": }' @@ -11,31 +13,23 @@ describe 'apt::source' do 'my_source' end + let :facts do + { + os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, + lsbdistid: 'Debian', + lsbdistcodename: 'jessie', + operatingsystem: 'Debian', + osfamily: 'Debian', + } + end + context 'with defaults' do context 'without location' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - osfamily: 'Debian', - lsbdistcodename: 'jessie', - puppetversion: Puppet.version, - } - end - it do is_expected.to raise_error(Puppet::Error, %r{source entry without specifying a location}) end end context 'with location' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', - puppetversion: Puppet.version, - } - end let(:params) { { location: 'hello.there' } } it { @@ -46,18 +40,6 @@ describe 'apt::source' do end describe 'no defaults' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', - operatingsystem: 'Debian', - lsbdistrelease: '8.0', - puppetversion: Puppet.version, - } - end - context 'with complex pin' do let :params do { @@ -120,7 +102,9 @@ describe 'apt::source' do location: 'http://debian.mirror.iweb.ca/debian/', release: 'sid', repos: 'testing', - key: { 'id' => GPG_KEY_ID, 'server' => 'pgp.mit.edu', + key: { 'ensure' => 'refreshed', + 'id' => GPG_KEY_ID, + 'server' => 'pgp.mit.edu', 'content' => 'GPG key content', 'source' => 'http://apt.puppetlabs.com/pubkey.gpg' }, pin: '10', @@ -141,7 +125,7 @@ describe 'apt::source' do } it { - is_expected.to contain_apt__key("Add key: #{GPG_KEY_ID} from Apt::Source my_source").that_comes_before('Apt::Setting[list-my_source]').with(ensure: 'present', + is_expected.to contain_apt__key("Add key: #{GPG_KEY_ID} from Apt::Source my_source").that_comes_before('Apt::Setting[list-my_source]').with(ensure: 'refreshed', id: GPG_KEY_ID, server: 'pgp.mit.edu', content: 'GPG key content', @@ -149,17 +133,8 @@ describe 'apt::source' do } end end - + context 'with allow_unsigned true' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', - puppetversion: Puppet.version, - } - end let :params do { location: 'hello.there', @@ -173,6 +148,19 @@ describe 'apt::source' do end context 'with a https location, install apt-transport-https' do + let :params do + { + location: 'HTTPS://foo.bar', + allow_unsigned: false, + } + end + + it { + is_expected.to contain_package('apt-transport-https') + } + end + + context 'with a https location and custom release, install apt-transport-https' do let :facts do { os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, @@ -186,6 +174,7 @@ describe 'apt::source' do { location: 'HTTPS://foo.bar', allow_unsigned: false, + release: 'customrelease', } end @@ -201,7 +190,6 @@ describe 'apt::source' do lsbdistid: 'Debian', lsbdistcodename: 'buster', osfamily: 'Debian', - puppetversion: Puppet.version, } end let :params do @@ -223,7 +211,6 @@ describe 'apt::source' do lsbdistid: 'Debian', lsbdistcodename: 'wheezy', osfamily: 'Debian', - puppetversion: Puppet.version, } end let :params do @@ -241,14 +228,7 @@ describe 'apt::source' do context 'with architecture fact and unset architecture parameter' do let :facts do - { - architecture: 'amd64', - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', - puppetversion: Puppet.version, - } + super().merge(architecture: 'amd64') end let :params do { @@ -263,15 +243,6 @@ describe 'apt::source' do end context 'with include_src => true' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', - puppetversion: Puppet.version, - } - end let :params do { location: 'hello.there', @@ -285,15 +256,6 @@ describe 'apt::source' do end context 'with include deb => false' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'debian', - lsbdistcodename: 'jessie', - osfamily: 'debian', - puppetversion: Puppet.version, - } - end let :params do { include: { 'deb' => false }, @@ -308,15 +270,6 @@ describe 'apt::source' do end context 'with include src => true and include deb => false' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'debian', - lsbdistcodename: 'jessie', - osfamily: 'debian', - puppetversion: Puppet.version, - } - end let :params do { include: { 'deb' => false, 'src' => true }, @@ -331,15 +284,6 @@ describe 'apt::source' do end context 'with ensure => absent' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', - puppetversion: Puppet.version, - } - end let :params do { ensure: 'absent', @@ -356,9 +300,7 @@ describe 'apt::source' do let :facts do { os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', osfamily: 'Debian', - puppetversion: Puppet.version, } end let(:params) { { location: 'hello.there' } } @@ -369,29 +311,12 @@ describe 'apt::source' do end context 'with release is empty string' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - osfamily: 'Debian', - puppetversion: Puppet.version, - } - end let(:params) { { location: 'hello.there', release: '' } } it { is_expected.to contain_apt__setting('list-my_source').with_content(%r{hello\.there main}) } end context 'with invalid pin' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', - puppetversion: Puppet.version, - } - end let :params do { location: 'hello.there', @@ -405,15 +330,6 @@ describe 'apt::source' do end context 'with notify_update = undef (default)' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', - puppetversion: Puppet.version, - } - end let :params do { location: 'hello.there', @@ -424,15 +340,6 @@ describe 'apt::source' do end context 'with notify_update = true' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', - puppetversion: Puppet.version, - } - end let :params do { location: 'hello.there', @@ -444,15 +351,6 @@ describe 'apt::source' do end context 'with notify_update = false' do - let :facts do - { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', - puppetversion: Puppet.version, - } - end let :params do { location: 'hello.there',