b451bedd30673e20813b4519a91619a49e40c174
[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: '9',
17           full: '9.0',
18         },
19         distro: {
20           codename: 'stretch',
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