(#12094) Add rspec-puppet tests for apt
[puppet-modules/puppetlabs-apt.git] / spec / defines / pin_spec.rb
1 require 'spec_helper'
2 describe 'apt::pin', :type => :define do
3   let(:title) { 'my_pin' }
4
5   let :default_params do
6     {
7       :packages => '*',
8       :priority => '0'
9     }
10   end
11
12   [{},
13    {
14       :packages  => 'apache',
15       :priority  => '1'
16     }
17   ].each do |param_set|
18     describe "when #{param_set == {} ? "using default" : "specifying"} define parameters" do
19       let :param_hash do
20         param_set == {} ? default_params : params
21       end
22
23       let :params do
24         param_set
25       end
26
27       it { should include_class("apt::params") }
28
29       it { should create_file("#{title}.pref")\
30         .with_path("/etc/apt/preferences.d/#{title}")\
31         .with_ensure("file")\
32         .with_owner("root")\
33         .with_group("root")\
34         .with_mode("644")\
35         .with_content("# #{title}\nPackage: #{param_hash[:packages]}\nPin: release a=#{title}\nPin-Priority: #{param_hash[:priority]}")
36       }
37     end
38   end
39 end