X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Fdefines%2Fsource_spec.rb;h=583c6190d4689454ec5f95162a2363f4f5662037;hb=1a294a83fbbd350c2ad32ea8c275184c74280630;hp=041175c1cee8db98d196ae4248e5e71b177955d0;hpb=fab62e6de7510c2660c63e385f6553ed69d30e75;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/spec/defines/source_spec.rb b/spec/defines/source_spec.rb index 041175c..583c619 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', @@ -13,14 +14,15 @@ describe 'apt::source', :type => :define do :required_packages => false, :key => false, :key_server => 'keyserver.ubuntu.com', - :pin => false, - :key_content => false + :key_content => false, + :key_source => false, + :pin => false } end [{}, { - :location => 'somewhere', + :location => 'http://example.com', :release => 'precise', :repos => 'security', :include_src => false, @@ -34,6 +36,12 @@ 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', } ].each do |param_set| describe "when #{param_set == {} ? "using default" : "specifying"} class parameters" do @@ -41,6 +49,10 @@ describe 'apt::source', :type => :define do default_params.merge(param_set) end + let :facts do + {:lsbdistcodename => 'karmic'} + end + let :params do param_set end @@ -61,23 +73,23 @@ describe 'apt::source', :type => :define do it { should contain_apt__params } it { should contain_file("#{title}.list").with({ + 'ensure' => param_hash[:ensure], 'path' => filename, - 'ensure' => "file", - 'owner' => "root", - 'group' => "root", - 'mode' => 644, - 'content' => content + 'owner' => 'root', + 'group' => 'root', + 'mode' => '0644', + 'content' => content, }) } 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]" }) @@ -85,9 +97,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 }) } @@ -110,52 +121,32 @@ describe 'apt::source', :type => :define do it { if param_hash[:key] - if param_hash[:key_content] - should contain_exec("Add key: #{param_hash[:key]} from content for #{title}").with({ - "command" => "/bin/echo '#{param_hash[:key_content]}' | /usr/bin/apt-key add -", - "unless" => "/usr/bin/apt-key list | /bin/grep '#{param_hash[:key]}'", - "before" => "File[#{title}.list]" - }) - else - should_not contain_exec("Add key: #{param_hash[:key]} from content for #{title}").with({ - "command" => "/bin/echo '#{param_hash[:key_content]}' | /usr/bin/apt-key add -", - "unless" => "/usr/bin/apt-key list | /bin/grep '#{param_hash[:key]}'", - "before" => "File[#{title}.list]" - }) - end - else - should_not contain_exec("Add key: #{param_hash[:key]} from content for #{title}").with({ - "command" => "/bin/echo '#{param_hash[:key_content]}' | /usr/bin/apt-key add -", - "unless" => "/usr/bin/apt-key list | /bin/grep '#{param_hash[:key]}'", - "before" => "File[#{title}.list]" + should contain_apt__key("Add key: #{param_hash[:key]} from Apt::Source #{title}").with({ + "key" => param_hash[:key], + "ensure" => :present, + "key_server" => param_hash[:key_server], + "key_content" => param_hash[:key_content], + "key_source" => param_hash[:key_source], + "before" => "File[#{title}.list]" }) - end - } - - it { - if param_hash[:key] - if param_hash[:key_content] - should_not contain_exec("Add key: #{param_hash[:key]} from #{param_hash[:key_server]} for #{title}").with({ - "command" => "/usr/bin/apt-key adv --keyserver #{param_hash[:key_server]} --recv-keys #{param_hash[:key]}", - "unless" => "/usr/bin/apt-key list | /bin/grep #{param_hash[:key]}", - "before" => "File[#{title}.list]" - }) - else - should contain_exec("Add key: #{param_hash[:key]} from #{param_hash[:key_server]} for #{title}").with({ - "command" => "/usr/bin/apt-key adv --keyserver #{param_hash[:key_server]} --recv-keys #{param_hash[:key]}", - "unless" => "/usr/bin/apt-key list | /bin/grep #{param_hash[:key]}", - "before" => "File[#{title}.list]" - }) - end else - should_not contain_exec("Add key: #{param_hash[:key]} from #{param_hash[:key_server]} for #{title}").with({ - "command" => "/usr/bin/apt-key adv --keyserver #{param_hash[:key_server]} --recv-keys #{param_hash[:key]}", - "unless" => "/usr/bin/apt-key list | /bin/grep #{param_hash[:key]}", - "before" => "File[#{title}.list]" + should_not contain_apt__key("Add key: #{param_hash[:key]} from Apt::Source #{title}").with({ + "key" => param_hash[:key], + "ensure" => :present, + "key_server" => param_hash[:key_server], + "key_content" => param_hash[:key_content], + "key_source" => param_hash[:key_source], + "before" => "File[#{title}.list]" }) end } end end + describe "without release should raise a Puppet::Error" do + let(:default_params) { Hash.new } + let(:facts) { Hash.new } + it { expect { should raise_error(Puppet::Error) } } + let(:facts) { { :lsbdistcodename => 'lucid' } } + it { should contain_apt__source(title) } + end end -