X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Fdefines%2Fsource_spec.rb;h=94446bfa9febdbdf68417346f99dbea62720a642;hb=7e31732abd277c852564c10011099bdf6967dc4f;hp=3436f559036b3744b7d372b4927ebda6501fc56d;hpb=06cc36d7a3a7d8e95cc572683f03dc70254a5b33;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/spec/defines/source_spec.rb b/spec/defines/source_spec.rb index 3436f55..94446bf 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,30 @@ describe 'apt::source' do 'my_source' end + let :facts do + { + os: { + family: 'Debian', + name: 'Debian', + release: { + major: '8', + full: '8.0', + }, + distro: { + codename: 'jessie', + id: '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 +47,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 { @@ -153,15 +142,6 @@ describe 'apt::source' do 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', @@ -175,12 +155,33 @@ 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' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'jessie', - osfamily: 'Debian', + os: { + family: 'Debian', + name: 'Debian', + release: { + major: '8', + full: '8.0', + }, + distro: { + codename: 'jessie', + id: 'Debian', + }, + }, puppetversion: Puppet.version, } end @@ -188,6 +189,7 @@ describe 'apt::source' do { location: 'HTTPS://foo.bar', allow_unsigned: false, + release: 'customrelease', } end @@ -199,11 +201,18 @@ describe 'apt::source' do context 'with a https location, do not install apt-transport-https on oses not in list eg buster' do let :facts do { - os: { family: 'Debian', name: 'Debian', release: { major: '10', full: '10.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'buster', - osfamily: 'Debian', - puppetversion: Puppet.version, + os: { + family: 'Debian', + name: 'Debian', + release: { + major: '10', + full: '10.0', + }, + distro: { + codename: 'buster', + id: 'Debian', + }, + }, } end let :params do @@ -221,11 +230,18 @@ describe 'apt::source' do context 'with architecture equals x86_64' do let :facts do { - os: { family: 'Debian', name: 'Debian', release: { major: '7', full: '7.0' } }, - lsbdistid: 'Debian', - lsbdistcodename: 'wheezy', - osfamily: 'Debian', - puppetversion: Puppet.version, + os: { + family: 'Debian', + name: 'Debian', + release: { + major: '7', + full: '7.0', + }, + distro: { + codename: 'wheezy', + id: 'Debian', + }, + }, } end let :params do @@ -243,14 +259,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 { @@ -265,15 +274,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', @@ -287,15 +287,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 }, @@ -310,15 +301,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 }, @@ -333,15 +315,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', @@ -357,43 +330,33 @@ describe 'apt::source' do context 'with no release' do let :facts do { - os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, - lsbdistid: 'Debian', - osfamily: 'Debian', - puppetversion: Puppet.version, + os: { + family: 'Debian', + name: 'Debian', + release: { + major: '8', + full: '8.0', + }, + distro: { + id: 'Debian', + }, + }, } end let(:params) { { location: 'hello.there' } } it do - is_expected.to raise_error(Puppet::Error, %r{lsbdistcodename fact not available: release parameter required}) + is_expected.to raise_error(Puppet::Error, %r{os.distro.codename fact not available: release parameter required}) end 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', @@ -407,15 +370,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', @@ -426,15 +380,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', @@ -446,15 +391,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',