X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Fdefines%2Fsource_spec.rb;h=79cc11b990d782ec58ef7f9e84a4c352a3ce0e3d;hb=61f4e6aee2dc2a031e5ce8b8e97b55456c4e00a8;hp=8a2cfcc7475698bb477061131c885475eb15ea28;hpb=bea5567ec2a2d5d1420f61a63d0e672693f6adcd;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/spec/defines/source_spec.rb b/spec/defines/source_spec.rb index 8a2cfcc..79cc11b 100644 --- a/spec/defines/source_spec.rb +++ b/spec/defines/source_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe 'apt::source' do - GPG_KEY_ID = '47B320EB4C7C375AA9DAE1A01054B7A24BD6EC30' + GPG_KEY_ID = '6F6B15509CF8E59E6E469F327F438280EF8D349F' let :pre_condition do 'class { "apt": }' @@ -15,9 +15,9 @@ describe 'apt::source' do context 'without location' do let :facts do { - :lsbdistid => 'Debian', - :lsbdistcodename => 'wheezy', + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, :osfamily => 'Debian', + :lsbdistcodename => 'wheezy', :puppetversion => Puppet.version, } end @@ -30,6 +30,7 @@ describe 'apt::source' do context 'with location' do let :facts do { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', @@ -48,9 +49,12 @@ describe 'apt::source' do describe 'no defaults' do let :facts do { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', + :operatingsystem => 'Debian', + :lsbdistrelease => '7.0', :puppetversion => Puppet.version, } end @@ -189,6 +193,7 @@ describe 'apt::source' do context 'allow_unsigned true' do let :facts do { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', @@ -211,6 +216,7 @@ describe 'apt::source' do context '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', @@ -220,20 +226,22 @@ describe 'apt::source' do let :params do { :location => 'hello.there', - :include => {'deb' => false, 'src' => true,}, + :include => {'deb' => false, 'src' => true}, :architecture => 'x86_64', } end it { is_expected.to contain_apt__setting('list-my_source').with({ :ensure => 'present', - }).with_content(/# my_source\ndeb-src \[arch=x86_64 \] hello.there wheezy main\n/) + }).with_content(/# my_source\ndeb-src \[arch=x86_64\] hello.there wheezy main\n/) } end - context 'include_src => true' do + context 'with architecture fact and unset architecture parameter' do let :facts do { + :architecture => 'amd64', + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', @@ -242,43 +250,44 @@ describe 'apt::source' do end let :params do { - :location => 'hello.there', - :include_src => true, + :location => 'hello.there', + :include => {'deb' => false, 'src' => true,}, } end it { is_expected.to contain_apt__setting('list-my_source').with({ :ensure => 'present', - }).with_content(/# my_source\ndeb hello.there wheezy main\ndeb-src hello.there wheezy main\n/) + }).with_content(/# my_source\ndeb-src hello.there wheezy main\n/) } end - context 'include_deb => false' do + context 'include_src => true' do let :facts do { - :lsbdistid => 'debian', + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, + :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', - :osfamily => 'debian', + :osfamily => 'Debian', :puppetversion => Puppet.version, } end let :params do { :location => 'hello.there', - :include_deb => false, + :include => {'src' => true}, } end it { is_expected.to contain_apt__setting('list-my_source').with({ :ensure => 'present', - }).without_content(/deb-src hello.there wheezy main\n/) + }).with_content(/# my_source\ndeb hello.there wheezy main\ndeb-src hello.there wheezy main\n/) } - it { is_expected.to contain_apt__setting('list-my_source').without_content(/deb hello.there wheezy main\n/) } end - context 'include_src => true and include_deb => false' do + context 'include deb => false' do let :facts do { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, :lsbdistid => 'debian', :lsbdistcodename => 'wheezy', :osfamily => 'debian', @@ -287,22 +296,22 @@ describe 'apt::source' do end let :params do { + :include => { 'deb' => false }, :location => 'hello.there', - :include_deb => false, - :include_src => true, } end it { is_expected.to contain_apt__setting('list-my_source').with({ :ensure => 'present', - }).with_content(/deb-src hello.there wheezy main\n/) + }).without_content(/deb-src hello.there wheezy main\n/) } it { is_expected.to contain_apt__setting('list-my_source').without_content(/deb hello.there wheezy main\n/) } end - context 'include precedence' do + context 'include src => true and include deb => false' do let :facts do { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, :lsbdistid => 'debian', :lsbdistcodename => 'wheezy', :osfamily => 'debian', @@ -311,10 +320,8 @@ describe 'apt::source' do end let :params do { + :include => { 'deb' => false, 'src' => true }, :location => 'hello.there', - :include_deb => true, - :include_src => false, - :include => { 'deb' => false, 'src' => true }, } end @@ -328,6 +335,7 @@ describe 'apt::source' do context 'ensure => absent' do let :facts do { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', @@ -350,6 +358,7 @@ describe 'apt::source' do context 'no release' do let :facts do { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, :lsbdistid => 'Debian', :osfamily => 'Debian', :puppetversion => Puppet.version, @@ -364,9 +373,24 @@ describe 'apt::source' do end end + context 'release is empty string' do + let :facts do + { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.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(/hello\.there main/) } + end + context 'invalid pin' do let :facts do { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', @@ -387,5 +411,61 @@ describe 'apt::source' do end end + context "with notify_update = undef (default)" do + let :facts do + { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, + :lsbdistid => 'Debian', + :lsbdistcodename => 'wheezy', + :osfamily => 'Debian', + :puppetversion => Puppet.version, + } + end + let :params do + { + :location => 'hello.there', + } + end + it { is_expected.to contain_apt__setting("list-#{title}").with_notify_update(true) } + end + + context "with notify_update = true" do + let :facts do + { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, + :lsbdistid => 'Debian', + :lsbdistcodename => 'wheezy', + :osfamily => 'Debian', + :puppetversion => Puppet.version, + } + end + let :params do + { + :location => 'hello.there', + :notify_update => true, + } + end + it { is_expected.to contain_apt__setting("list-#{title}").with_notify_update(true) } + end + + context "with notify_update = false" do + let :facts do + { + :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, + :lsbdistid => 'Debian', + :lsbdistcodename => 'wheezy', + :osfamily => 'Debian', + :puppetversion => Puppet.version, + } + end + let :params do + { + :location => 'hello.there', + :notify_update => false, + } + end + it { is_expected.to contain_apt__setting("list-#{title}").with_notify_update(false) } + end + end end