Skip to content

Commit bdf1a46

Browse files
committed
(PUP-12050) Refactor compile_and_resolve_catalog
1 parent 40d9bd8 commit bdf1a46

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

spec/unit/pops/evaluator/deferred_resolver_spec.rb

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,37 +7,40 @@
77
let(:environment) { Puppet::Node::Environment.create(:testing, []) }
88
let(:facts) { Puppet::Node::Facts.new('node.example.com') }
99

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+
1016
it 'resolves deferred values in a catalog' do
11-
catalog = compile_to_catalog(<<~END)
17+
catalog = compile_and_resolve_catalog(<<~END, true)
1218
notify { "deferred":
1319
message => Deferred("join", [[1,2,3], ":"])
1420
}
1521
END
16-
described_class.resolve_and_replace(facts, catalog)
1722

1823
expect(catalog.resource(:notify, 'deferred')[:message]).to eq('1:2:3')
1924
end
2025

2126
it 'lazily resolves deferred values in a catalog' do
22-
catalog = compile_to_catalog(<<~END)
27+
catalog = compile_and_resolve_catalog(<<~END)
2328
notify { "deferred":
2429
message => Deferred("join", [[1,2,3], ":"])
2530
}
2631
END
27-
described_class.resolve_and_replace(facts, catalog, environment, false)
2832

2933
deferred = catalog.resource(:notify, 'deferred')[:message]
3034
expect(deferred.resolve).to eq('1:2:3')
3135
end
3236

3337
it 'lazily resolves nested deferred values in a catalog' do
34-
catalog = compile_to_catalog(<<~END)
38+
catalog = compile_and_resolve_catalog(<<~END)
3539
$args = Deferred("inline_epp", ["<%= 'a,b,c' %>"])
3640
notify { "deferred":
3741
message => Deferred("split", [$args, ","])
3842
}
3943
END
40-
described_class.resolve_and_replace(facts, catalog, environment, false)
4144

4245
deferred = catalog.resource(:notify, 'deferred')[:message]
4346
expect(deferred.resolve).to eq(["a", "b", "c"])

0 commit comments

Comments
 (0)