Skip to content

Commit 951053d

Browse files
committed
chore: parametrize test
1 parent f2f17f7 commit 951053d

File tree

1 file changed

+32
-36
lines changed

1 file changed

+32
-36
lines changed

unit_tests/sources/declarative/parsers/test_manifest_component_transformer.py

Lines changed: 32 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -571,9 +571,32 @@ def test_propagate_property_chunking():
571571
assert actual_component == expected_component
572572

573573

574-
def test_use_parent_parameters_configuration():
574+
@pytest.mark.parametrize(
575+
"use_parent_parameters, expected_retriever_name, expected_requester_name, expected_requester_params_name",
576+
[
577+
pytest.param(
578+
True,
579+
"parent_priority",
580+
"component_priority",
581+
"parent_priority",
582+
id="use_parent_parameters_true",
583+
),
584+
pytest.param(
585+
False,
586+
"parent_priority",
587+
"component_priority",
588+
"component_priority",
589+
id="use_parent_parameters_false",
590+
),
591+
],
592+
)
593+
def test_use_parent_parameters_configuration(
594+
use_parent_parameters,
595+
expected_retriever_name,
596+
expected_requester_name,
597+
expected_requester_params_name,
598+
):
575599
"""Test that use_parent_parameters configuration controls parameter precedence."""
576-
# Test with use_parent_parameters=True (parent parameters take precedence)
577600
component_with_parent_priority = {
578601
"type": "DeclarativeStream",
579602
"retriever": {
@@ -594,19 +617,19 @@ def test_use_parent_parameters_configuration():
594617
},
595618
}
596619

597-
expected_with_parent_priority = {
620+
expected_component = {
598621
"type": "DeclarativeStream",
599622
"retriever": {
600623
"type": "SimpleRetriever",
601-
"name": "parent_priority", # Parent parameter takes precedence
624+
"name": expected_retriever_name,
602625
"requester": {
603626
"type": "HttpRequester",
604-
"name": "component_priority", # Explicit value is not overridden
627+
"name": expected_requester_name,
605628
"url_base": "https://coffee.example.io/v1/",
606629
"http_method": "GET",
607630
"primary_key": "id",
608631
"$parameters": {
609-
"name": "parent_priority", # Parent parameter propagated to nested component
632+
"name": expected_requester_params_name,
610633
},
611634
},
612635
"$parameters": {
@@ -616,37 +639,10 @@ def test_use_parent_parameters_configuration():
616639
}
617640

618641
transformer = ManifestComponentTransformer()
619-
actual_with_parent_priority = transformer.propagate_types_and_parameters(
620-
"", component_with_parent_priority, {}, use_parent_parameters=True
642+
actual_component = transformer.propagate_types_and_parameters(
643+
"", component_with_parent_priority, {}, use_parent_parameters=use_parent_parameters
621644
)
622-
assert actual_with_parent_priority == expected_with_parent_priority
623-
624-
# Test with use_parent_parameters=False (component parameters take precedence)
625-
expected_with_component_priority = {
626-
"type": "DeclarativeStream",
627-
"retriever": {
628-
"type": "SimpleRetriever",
629-
"name": "parent_priority", # Parent parameter takes precedence at this level
630-
"requester": {
631-
"type": "HttpRequester",
632-
"name": "component_priority", # Component parameter takes precedence
633-
"url_base": "https://coffee.example.io/v1/",
634-
"http_method": "GET",
635-
"primary_key": "id",
636-
"$parameters": {
637-
"name": "component_priority",
638-
},
639-
},
640-
"$parameters": {
641-
"name": "parent_priority",
642-
},
643-
},
644-
}
645-
646-
actual_with_component_priority = transformer.propagate_types_and_parameters(
647-
"", component_with_parent_priority, {}, use_parent_parameters=False
648-
)
649-
assert actual_with_component_priority == expected_with_component_priority
645+
assert actual_component == expected_component
650646

651647

652648
def test_use_parent_parameters_none_behavior():

0 commit comments

Comments
 (0)