- it {
- if param_hash[:key]
- if param_hash[:key_content]
- should contain_exec("Add key: #{param_hash[:key]} from content").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_not contain_exec("/usr/bin/apt-key adv --keyserver #{param_hash[:key_server]} --recv-keys #{param_hash[:key]}").with({
- "unless" => "/usr/bin/apt-key list | /bin/grep #{param_hash[:key]}",
- "before" => "File[#{title}.list]"
- })
-
- else
- should contain_exec("/usr/bin/apt-key adv --keyserver #{param_hash[:key_server]} --recv-keys #{param_hash[:key]}").with({
- "unless" => "/usr/bin/apt-key list | /bin/grep #{param_hash[:key]}",
- "before" => "File[#{title}.list]"
- })
- should_not contain_exec("Add key: #{param_hash[:key]} from content").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").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_not contain_exec("/usr/bin/apt-key adv --keyserver #{param_hash[:key_server]} --recv-keys #{param_hash[:key]}").with({
- "unless" => "/usr/bin/apt-key list | /bin/grep #{param_hash[:key]}",
- "before" => "File[#{title}.list]"
- })
-
- end
+ it { is_expected.to contain_file('my_source.list').that_notifies('Exec[apt_update]').with({
+ 'ensure' => 'present',
+ 'path' => '/etc/apt/sources.list.d/my_source.list',
+ 'owner' => 'root',
+ 'group' => 'root',
+ 'mode' => '0644',
+ }).with_content(/#file generated by puppet\n# my_source\ndeb-src \[arch=x86_64 \] wheezy main\n/)
+ }
+ end
+
+ context 'ensure => absent' do
+ let :facts do
+ {
+ :lsbdistid => 'Debian',
+ :lsbdistcodename => 'wheezy',
+ :osfamily => 'Debian'