Skip to content

Commit 521102e

Browse files
committed
Fix behavior when applying multiple patches sequentially
1 parent 3a6e3f3 commit 521102e

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

src/beku/kuttl.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -228,10 +228,10 @@ def patch_dimensions(self, test_name: str, dims: List[TestDimension]) -> List[Te
228228

229229
if self._may_patch(test_name):
230230
logging.debug(f"Patching test [{test_name}]")
231-
result = {}
231+
result = {d.name: d for d in dims}
232232
for _pd in self.patches:
233-
for dim in _pd.patch_dimensions(test_name, dims):
234-
result[dim.name] = dim
233+
result = {d.name: d for d in _pd.patch_dimensions(
234+
test_name, list(result.values()))}
235235
return list(result.values())
236236
return dims
237237

src/beku/test/test_render_from_stream.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,9 @@ def test_patch_the_same_dimension_twice(self):
106106
ets = renderer_from_stream(fixture)
107107
expected = EffectiveTestSuite(name='two-patches-on-the-same-test',
108108
test_cases=[TestCase(name='smoke',
109-
values={'druid': '26.0.0-stackable0.0.0-dev'})])
110-
self.assertEqual(expected, ets[0], "Last patch wins")
109+
values={'druid': '24.0.0-stackable0.0.0-dev'})])
110+
self.assertEqual(
111+
expected, ets[0], "Take first and then take last out of that.")
111112

112113
def test_patch_the_same_test_twice(self):
113114
fixture = textwrap.dedent("""
@@ -266,12 +267,16 @@ def test_multiple_patches(self):
266267
- name: openshift
267268
values:
268269
- "false"
270+
- name: tls
271+
values:
272+
- "false"
269273
tests:
270274
- name: smoke
271275
dimensions:
272276
- druid
273277
- zookeeper
274278
- openshift
279+
- tls
275280
suites:
276281
- name: openshift
277282
patch:
@@ -280,13 +285,16 @@ def test_multiple_patches(self):
280285
- dimensions:
281286
- name: openshift
282287
expr: "true"
288+
- name: tls
289+
expr: "true"
283290
""")
284291
ets = renderer_from_stream(fixture)
285292
expected = EffectiveTestSuite(name='openshift',
286293
test_cases=[TestCase(name='smoke',
287294
values={'druid': '26.0.0-stackable0.0.0-dev',
288295
'openshift': 'true',
289-
'zookeeper': '3.8.0-stackable0.0.0-dev'})])
296+
'zookeeper': '3.8.0-stackable0.0.0-dev',
297+
'tls': 'true'})])
290298

291299
self.assertEqual(expected, ets[0])
292300

0 commit comments

Comments
 (0)