Skip to content

Commit e0cd521

Browse files
committed
Add test inventory which uses reference default value and Python test
1 parent 9fcbb4c commit e0cd521

7 files changed

Lines changed: 123 additions & 0 deletions

File tree

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
parameters:
2+
_base_directory: /tmp
3+
_lookup_table:
4+
foo:
5+
- type: a list
6+
- type: of items
7+
bar:
8+
- type: another
9+
- type: list
10+
- type: of
11+
- type: items
12+
- type: with
13+
a_ref: ${_base_directory}/foo
14+
table: ${_lookup_table:${variant::foo}}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
parameters:
2+
class1:
3+
foo: ${class1:bar::default}
4+
foo2: ${class1:foo}
5+
qux: \${foo}
6+
qux2: ${foo::\${foo\}}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
parameters:
2+
class2:
3+
foo: ${bar::default}
4+
bar:
5+
baz:
6+
foo: foo
7+
qux:
8+
foo: foo
9+
bar: bar
10+
qux:
11+
foo: class2foo
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
classes:
2+
- class1
3+
- class2
4+
5+
parameters:
6+
n1_a: ${class3::${class1}}
7+
n1_list:
8+
- a
9+
- \${bar}
10+
n1_b: ${foo::${n1_list}}
11+
class2:
12+
foo: foo
13+
bar: ${class1}
14+
qux:
15+
foo: ${class1:bar::${class1:foo}}
16+
17+
expected:
18+
class1:
19+
foo: default
20+
foo2: default
21+
qux: \${foo}
22+
qux2: \${foo}
23+
class2:
24+
foo: foo
25+
bar:
26+
foo: default
27+
foo2: default
28+
qux: \${foo}
29+
qux2: \${foo}
30+
baz:
31+
foo: foo
32+
qux:
33+
foo: foo
34+
bar: bar
35+
qux:
36+
foo: default
37+
n1_a:
38+
foo: default
39+
foo2: default
40+
qux: \${foo}
41+
qux2: \${foo}
42+
n1_list:
43+
- a
44+
- \${bar}
45+
n1_b:
46+
- a
47+
- \${bar}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
classes:
2+
- base
3+
4+
parameters:
5+
variant: bar
6+
expected_table: ${_lookup_table:bar}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
classes:
2+
- base
3+
4+
parameters:
5+
expected_table: ${_lookup_table:foo}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import reclass_rs
2+
import pytest
3+
import sys
4+
5+
6+
def test_inventory_reference_default_values():
7+
config_options = {
8+
"nodes_uri": "nodes",
9+
"classes_uri": "classes",
10+
}
11+
c = reclass_rs.Config.from_dict(
12+
"./tests/inventory-reference-default-values", config_options
13+
)
14+
assert c is not None
15+
16+
r = reclass_rs.Reclass.from_config(c)
17+
assert r is not None
18+
19+
inv = r.inventory().as_dict()
20+
21+
n1_params = inv["nodes"]["n1"]["parameters"]
22+
n1_expected = n1_params["expected"]
23+
del n1_params["expected"]
24+
del n1_params["_reclass_"]
25+
26+
assert n1_params == n1_expected
27+
28+
n2_table = inv["nodes"]["n2"]["parameters"]["table"]
29+
n2_expected = inv["nodes"]["n2"]["parameters"]["expected_table"]
30+
assert n2_table == n2_expected
31+
32+
n3_table = inv["nodes"]["n3"]["parameters"]["table"]
33+
n3_expected = inv["nodes"]["n3"]["parameters"]["expected_table"]
34+
assert n3_table == n3_expected

0 commit comments

Comments
 (0)