2424from commodore .multi_dependency import dependency_key
2525
2626
27+ def make_inventory (cluster_params : dict ) -> dict :
28+ return {"cluster" : {"parameters" : cluster_params }}
29+
30+
2731def test_verify_component_aliases_no_instance (config ):
2832 alias_data = {"bar" : "bar" }
2933 config .register_component_aliases (alias_data )
30- params = {"bar" : {"namespace" : "syn-bar" }}
34+ params = make_inventory ( {"bar" : {"namespace" : "syn-bar" }})
3135
3236 config .verify_component_aliases (params )
3337
3438
3539def test_verify_component_aliases_explicit_no_instance (config ):
3640 alias_data = {"bar" : "bar" }
3741 config .register_component_aliases (alias_data )
38- params = {"bar" : {"_metadata" : {"multi_instance" : False }, "namespace" : "syn-bar" }}
42+ params = make_inventory (
43+ {"bar" : {"_metadata" : {"multi_instance" : False }, "namespace" : "syn-bar" }}
44+ )
3945
4046 config .verify_component_aliases (params )
4147
4248
4349def test_verify_component_aliases_explicit_no_multiversion_exception (config ):
4450 alias_data = {"baz" : "bar" }
4551 config .register_component_aliases (alias_data )
46- params = {
47- "components" : {
48- "bar" : {"url" : "foo" , "version" : "v1.0.0" },
49- "baz" : {"version" : "v1.1.0" },
50- },
51- "bar" : {
52- "_metadata" : {"multi_instance" : True , "multi_version" : False },
53- "namespace" : "syn-bar" ,
54- },
55- "baz" : {
56- "_metadata" : {"multi_instance" : True , "multi_version" : False },
57- "namespace" : "syn-baz" ,
58- },
52+ params = make_inventory (
53+ {
54+ "components" : {
55+ "bar" : {"url" : "foo" , "version" : "v1.0.0" },
56+ "baz" : {"version" : "v1.1.0" },
57+ },
58+ "bar" : {
59+ "_metadata" : {"multi_instance" : True , "multi_version" : False },
60+ "namespace" : "syn-bar" ,
61+ },
62+ }
63+ )
64+ # Simulate merged target params for `baz` -> parameters key is `bar`
65+ params ["baz" ] = {
66+ "parameters" : {
67+ "bar" : {
68+ "_metadata" : {"multi_instance" : True , "multi_version" : False },
69+ "namespace" : "syn-baz" ,
70+ },
71+ }
5972 }
6073
6174 with pytest .raises (click .ClickException ) as e :
@@ -70,19 +83,26 @@ def test_verify_component_aliases_explicit_no_multiversion_exception(config):
7083def test_verify_component_aliases_explicit_no_multiversion_in_alias_exception (config ):
7184 alias_data = {"baz" : "bar" }
7285 config .register_component_aliases (alias_data )
73- params = {
74- "components" : {
75- "bar" : {"url" : "foo" , "version" : "v1.0.0" },
76- "baz" : {"version" : "v1.1.0" },
77- },
78- "bar" : {
79- "_metadata" : {"multi_instance" : True , "multi_version" : True },
80- "namespace" : "syn-bar" ,
81- },
82- "baz" : {
83- "_metadata" : {"multi_instance" : True , "multi_version" : False },
84- "namespace" : "syn-baz" ,
85- },
86+ params = make_inventory (
87+ {
88+ "components" : {
89+ "bar" : {"url" : "foo" , "version" : "v1.0.0" },
90+ "baz" : {"version" : "v1.1.0" },
91+ },
92+ "bar" : {
93+ "_metadata" : {"multi_instance" : True , "multi_version" : True },
94+ "namespace" : "syn-bar" ,
95+ },
96+ }
97+ )
98+ # Simulate merged target params for `baz` -> parameters key is `bar`
99+ params ["baz" ] = {
100+ "parameters" : {
101+ "bar" : {
102+ "_metadata" : {"multi_instance" : True , "multi_version" : False },
103+ "namespace" : "syn-baz" ,
104+ },
105+ }
86106 }
87107
88108 with pytest .raises (click .ClickException ) as e :
@@ -97,12 +117,23 @@ def test_verify_component_aliases_explicit_no_multiversion_in_alias_exception(co
97117def test_verify_component_multiversion_exception (config ):
98118 alias_data = {"baz" : "bar" }
99119 config .register_component_aliases (alias_data )
100- params = {
101- "components" : {
102- "bar" : {"url" : "foo" , "version" : "v1.0.0" },
103- "baz" : {"version" : "v1.1.0" },
104- },
105- "bar" : {"_metadata" : {"multi_instance" : True }},
120+ params = make_inventory (
121+ {
122+ "components" : {
123+ "bar" : {"url" : "foo" , "version" : "v1.0.0" },
124+ "baz" : {"version" : "v1.1.0" },
125+ },
126+ "bar" : {"_metadata" : {"multi_instance" : True }},
127+ }
128+ )
129+ # Simulate merged target params for `baz` -> parameters key is `bar`
130+ params ["baz" ] = {
131+ "parameters" : {
132+ "bar" : {
133+ "_metadata" : {"multi_instance" : True },
134+ "namespace" : "syn-baz" ,
135+ },
136+ }
106137 }
107138
108139 with pytest .raises (click .ClickException ) as e :
@@ -117,16 +148,26 @@ def test_verify_component_multiversion_exception(config):
117148def test_verify_component_multiversion (config ):
118149 alias_data = {"baz" : "bar" }
119150 config .register_component_aliases (alias_data )
120- params = {
121- "components" : {
122- "bar" : {"url" : "foo" , "version" : "v1.0.0" },
123- "baz" : {"version" : "v1.1.0" },
124- },
125- "bar" : {
126- "_metadata" : {"multi_instance" : True , "multi_version" : True },
127- "namespace" : "syn-bar" ,
128- },
129- "baz" : {"_metadata" : {"multi_version" : True }, "namespace" : "syn-baz" },
151+ params = make_inventory (
152+ {
153+ "components" : {
154+ "bar" : {"url" : "foo" , "version" : "v1.0.0" },
155+ "baz" : {"version" : "v1.1.0" },
156+ },
157+ "bar" : {
158+ "_metadata" : {"multi_instance" : True , "multi_version" : True },
159+ "namespace" : "syn-bar" ,
160+ },
161+ }
162+ )
163+ # Simulate merged target params for `baz` -> parameters key is `bar`
164+ params ["baz" ] = {
165+ "parameters" : {
166+ "bar" : {
167+ "_metadata" : {"multi_instance" : True , "multi_version" : True },
168+ "namespace" : "syn-baz" ,
169+ },
170+ }
130171 }
131172
132173 config .verify_component_aliases (params )
@@ -135,7 +176,9 @@ def test_verify_component_multiversion(config):
135176def test_verify_component_aliases_metadata (config ):
136177 alias_data = {"baz" : "bar" }
137178 config .register_component_aliases (alias_data )
138- params = {"bar" : {"_metadata" : {"multi_instance" : True }, "namespace" : "syn-bar" }}
179+ params = make_inventory (
180+ {"bar" : {"_metadata" : {"multi_instance" : True }, "namespace" : "syn-bar" }}
181+ )
139182
140183 config .verify_component_aliases (params )
141184
@@ -145,7 +188,7 @@ def test_verify_component_aliases_metadata(config):
145188def test_verify_toplevel_component_aliases_exception (config ):
146189 alias_data = {"baz" : "bar" }
147190 config .register_component_aliases (alias_data )
148- params = {"bar" : {"multi_instance" : True , "namespace" : "syn-bar" }}
191+ params = make_inventory ( {"bar" : {"multi_instance" : True , "namespace" : "syn-bar" }})
149192
150193 with pytest .raises (click .ClickException ) as e :
151194 config .verify_component_aliases (params )
@@ -158,7 +201,7 @@ def test_verify_toplevel_component_aliases_exception(config):
158201def test_verify_component_aliases_error (config ):
159202 alias_data = {"baz" : "bar" }
160203 config .register_component_aliases (alias_data )
161- params = {"bar" : {"namespace" : "syn-bar" }}
204+ params = make_inventory ( {"bar" : {"namespace" : "syn-bar" }})
162205
163206 with pytest .raises (click .ClickException ):
164207 config .verify_component_aliases (params )
@@ -167,7 +210,9 @@ def test_verify_component_aliases_error(config):
167210def test_verify_component_aliases_explicit_no_instance_error (config ):
168211 alias_data = {"baz" : "bar" }
169212 config .register_component_aliases (alias_data )
170- params = {"bar" : {"_metadata" : {"multi_instance" : False }, "namespace" : "syn-bar" }}
213+ params = make_inventory (
214+ {"bar" : {"_metadata" : {"multi_instance" : False }, "namespace" : "syn-bar" }}
215+ )
171216
172217 with pytest .raises (click .ClickException ):
173218 config .verify_component_aliases (params )
0 commit comments