X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Fdefines%2Fsource_spec.rb;h=bf6977a39dd0e0f4cf456bf890615f1010391bc2;hb=3760d350a8341b8726e9be5c8273a529d245285a;hp=4dff24a467982e736a7664000fffbdda0e162511;hpb=21a2462a58938d126b66985c0b0fa1f8e09f27cd;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/spec/defines/source_spec.rb b/spec/defines/source_spec.rb index 4dff24a..bf6977a 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": }' @@ -18,7 +18,7 @@ describe 'apt::source' do :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', - :puppetversion => '3.5.0', + :puppetversion => Puppet.version, } end it do @@ -33,7 +33,7 @@ describe 'apt::source' do :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', - :puppetversion => '3.5.0', + :puppetversion => Puppet.version, } end let(:params) { { :location => 'hello.there', } } @@ -51,7 +51,7 @@ describe 'apt::source' do :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', - :puppetversion => '3.5.0', + :puppetversion => Puppet.version, } end @@ -70,6 +70,8 @@ describe 'apt::source' do }).with_content(/hello.there wheezy main\n/) } + it { is_expected.to contain_file('/etc/apt/sources.list.d/my_source.list').that_notifies('Class[Apt::Update]')} + it { is_expected.to contain_apt__pin('my_source').that_comes_before('Apt::Setting[list-my_source]').with({ :ensure => 'present', :priority => 1001, @@ -190,7 +192,7 @@ describe 'apt::source' do :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', - :puppetversion => '3.5.0', + :puppetversion => Puppet.version, } end let :params do @@ -212,7 +214,7 @@ describe 'apt::source' do :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', - :puppetversion => '3.5.0', + :puppetversion => Puppet.version, } end let :params do @@ -225,8 +227,102 @@ describe 'apt::source' do 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 + let :facts do + { + :lsbdistid => 'Debian', + :lsbdistcodename => 'wheezy', + :osfamily => 'Debian', + :puppetversion => Puppet.version, + } + end + let :params do + { + :location => 'hello.there', + :include_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/) + } + end + + context 'include_deb => false' do + let :facts do + { + :lsbdistid => 'debian', + :lsbdistcodename => 'wheezy', + :osfamily => 'debian', + :puppetversion => Puppet.version, + } + end + let :params do + { + :location => 'hello.there', + :include_deb => false, + } + end + + it { is_expected.to contain_apt__setting('list-my_source').with({ + :ensure => 'present', + }).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_src => true and include_deb => false' do + let :facts do + { + :lsbdistid => 'debian', + :lsbdistcodename => 'wheezy', + :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', + }).with_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 + let :facts do + { + :lsbdistid => 'debian', + :lsbdistcodename => 'wheezy', + :osfamily => 'debian', + :puppetversion => Puppet.version, + } + end + let :params do + { + :location => 'hello.there', + :include_deb => true, + :include_src => false, + :include => { 'deb' => false, '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/) } + it { is_expected.to contain_apt__setting('list-my_source').without_content(/deb hello.there wheezy main\n/) } end context 'ensure => absent' do @@ -235,7 +331,7 @@ describe 'apt::source' do :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', - :puppetversion => '3.5.0', + :puppetversion => Puppet.version, } end let :params do @@ -256,7 +352,7 @@ describe 'apt::source' do { :lsbdistid => 'Debian', :osfamily => 'Debian', - :puppetversion => '3.5.0', + :puppetversion => Puppet.version, } end let(:params) { { :location => 'hello.there', } } @@ -274,7 +370,7 @@ describe 'apt::source' do :lsbdistid => 'Debian', :lsbdistcodename => 'wheezy', :osfamily => 'Debian', - :puppetversion => '3.5.0', + :puppetversion => Puppet.version, } end let :params do @@ -291,5 +387,58 @@ describe 'apt::source' do end end + context "with notify_update = undef (default)" do + let :facts do + { + :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 + { + :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 + { + :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