X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Fdefines%2Fsource_spec.rb;h=9ad4d463e4939fde48a2eccd19a9b4ab1738bb13;hb=7dd4a1484858f3396de60bc27742063e11c6479c;hp=284342940b445d161e25851ea2dac321cb5dd679;hpb=cd7a3efdf0d82d47efd711d39284fb690f1a4883;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/spec/defines/source_spec.rb b/spec/defines/source_spec.rb index 2843429..9ad4d46 100644 --- a/spec/defines/source_spec.rb +++ b/spec/defines/source_spec.rb @@ -6,6 +6,7 @@ describe 'apt::source', :type => :define do let :default_params do { + :ensure => 'present', :location => '', :release => 'karmic', :repos => 'main', @@ -21,7 +22,7 @@ describe 'apt::source', :type => :define do [{}, { - :location => 'somewhere', + :location => 'http://example.com', :release => 'precise', :repos => 'security', :include_src => false, @@ -35,6 +36,21 @@ describe 'apt::source', :type => :define do :key => 'key_name', :key_server => 'keyserver.debian.com', :key_content => false, + }, + { + :ensure => 'absent', + :location => 'http://example.com', + :release => 'precise', + :repos => 'security', + }, + { + :release => '', + }, + { + :release => 'custom', + }, + { + :architecture => 'amd64', } ].each do |param_set| describe "when #{param_set == {} ? "using default" : "specifying"} class parameters" do @@ -56,9 +72,13 @@ describe 'apt::source', :type => :define do let :content do content = "# #{title}" - content << "\ndeb #{param_hash[:location]} #{param_hash[:release]} #{param_hash[:repos]}\n" + if param_hash[:architecture] + arch = "[arch=#{param_hash[:architecture]}]" + end + content << "\ndeb #{arch}#{param_hash[:location]} #{param_hash[:release]} #{param_hash[:repos]}\n" + if param_hash[:include_src] - content << "deb-src #{param_hash[:location]} #{param_hash[:release]} #{param_hash[:repos]}\n" + content << "deb-src #{arch}#{param_hash[:location]} #{param_hash[:release]} #{param_hash[:repos]}\n" end content end @@ -66,7 +86,7 @@ describe 'apt::source', :type => :define do it { should contain_apt__params } it { should contain_file("#{title}.list").with({ - 'ensure' => 'file', + 'ensure' => param_hash[:ensure], 'path' => filename, 'owner' => 'root', 'group' => 'root', @@ -77,12 +97,12 @@ describe 'apt::source', :type => :define do it { if param_hash[:pin] - should contain_apt__pin(param_hash[:release]).with({ + should contain_apt__pin(title).with({ "priority" => param_hash[:pin], "before" => "File[#{title}.list]" }) else - should_not contain_apt__pin(param_hash[:release]).with({ + should_not contain_apt__pin(title).with({ "priority" => param_hash[:pin], "before" => "File[#{title}.list]" }) @@ -90,9 +110,8 @@ describe 'apt::source', :type => :define do } it { - should contain_exec("#{title} apt update").with({ + should contain_exec("apt_update").with({ "command" => "/usr/bin/apt-get update", - "subscribe" => "File[#{title}.list]", "refreshonly" => true }) } @@ -102,7 +121,8 @@ describe 'apt::source', :type => :define do should contain_exec("Required packages: '#{param_hash[:required_packages]}' for #{title}").with({ "command" => "/usr/bin/apt-get -y install #{param_hash[:required_packages]}", "subscribe" => "File[#{title}.list]", - "refreshonly" => true + "refreshonly" => true, + "before" => 'Exec[apt_update]', }) else should_not contain_exec("Required packages: '#{param_hash[:required_packages]}' for #{title}").with({