|
7 | 7 | let(:environment) { Puppet::Node::Environment.create(:testing, []) }
|
8 | 8 | let(:facts) { Puppet::Node::Facts.new('node.example.com') }
|
9 | 9 |
|
| 10 | + def compile_and_resolve_catalog(code, preprocess = false) |
| 11 | + catalog = compile_to_catalog(code) |
| 12 | + described_class.resolve_and_replace(facts, catalog, environment, preprocess) |
| 13 | + catalog |
| 14 | + end |
| 15 | + |
10 | 16 | it 'resolves deferred values in a catalog' do
|
11 |
| - catalog = compile_to_catalog(<<~END) |
| 17 | + catalog = compile_and_resolve_catalog(<<~END, true) |
12 | 18 | notify { "deferred":
|
13 | 19 | message => Deferred("join", [[1,2,3], ":"])
|
14 | 20 | }
|
15 | 21 | END
|
16 |
| - described_class.resolve_and_replace(facts, catalog) |
17 | 22 |
|
18 | 23 | expect(catalog.resource(:notify, 'deferred')[:message]).to eq('1:2:3')
|
19 | 24 | end
|
20 | 25 |
|
21 | 26 | it 'lazily resolves deferred values in a catalog' do
|
22 |
| - catalog = compile_to_catalog(<<~END) |
| 27 | + catalog = compile_and_resolve_catalog(<<~END) |
23 | 28 | notify { "deferred":
|
24 | 29 | message => Deferred("join", [[1,2,3], ":"])
|
25 | 30 | }
|
26 | 31 | END
|
27 |
| - described_class.resolve_and_replace(facts, catalog, environment, false) |
28 | 32 |
|
29 | 33 | deferred = catalog.resource(:notify, 'deferred')[:message]
|
30 | 34 | expect(deferred.resolve).to eq('1:2:3')
|
31 | 35 | end
|
32 | 36 |
|
33 | 37 | it 'lazily resolves nested deferred values in a catalog' do
|
34 |
| - catalog = compile_to_catalog(<<~END) |
| 38 | + catalog = compile_and_resolve_catalog(<<~END) |
35 | 39 | $args = Deferred("inline_epp", ["<%= 'a,b,c' %>"])
|
36 | 40 | notify { "deferred":
|
37 | 41 | message => Deferred("split", [$args, ","])
|
38 | 42 | }
|
39 | 43 | END
|
40 |
| - described_class.resolve_and_replace(facts, catalog, environment, false) |
41 | 44 |
|
42 | 45 | deferred = catalog.resource(:notify, 'deferred')[:message]
|
43 | 46 | expect(deferred.resolve).to eq(["a", "b", "c"])
|
|
0 commit comments