Merge pull request #964 from kenyon/use-modern-os-facts
[puppet-modules/puppetlabs-apt.git] / spec / defines / mark_spec.rb
1 # frozen_string_literal: true
2
3 require 'spec_helper'
4
5 describe 'apt::mark', type: :define do
6   let :title do
7     'my_source'
8   end
9
10   let :facts do
11     {
12       os: {
13         family: 'Debian',
14         name: 'Debian',
15         release: {
16           major: '8',
17           full: '8.0',
18         },
19         distro: {
20           codename: 'jessie',
21           id: 'Debian',
22         },
23       },
24     }
25   end
26
27   context 'with correct seting' do
28     let :params do
29       {
30         'setting' => 'manual',
31       }
32     end
33
34     it {
35       is_expected.to contain_exec('/usr/bin/apt-mark manual my_source')
36     }
37   end
38
39   describe 'with wrong setting' do
40     let :params do
41       {
42         'setting' => 'foobar',
43       }
44     end
45
46     it do
47       is_expected.to raise_error(Puppet::PreformattedError, %r{expects a match for Enum\['auto', 'hold', 'manual', 'unhold'\], got 'foobar'})
48     end
49   end
50 end