diff --git a/packages/serialization/json/kiota_serialization_json/json_parse_node.py b/packages/serialization/json/kiota_serialization_json/json_parse_node.py index e19047d..c8a0166 100644 --- a/packages/serialization/json/kiota_serialization_json/json_parse_node.py +++ b/packages/serialization/json/kiota_serialization_json/json_parse_node.py @@ -42,9 +42,6 @@ def get_child_node(self, identifier: str) -> Optional[ParseNode]: Returns: Optional[ParseNode]: A new parse node for the given identifier """ - if not identifier: - raise ValueError("identifier cannot be None or empty.") - if isinstance(node := self._json_node, dict) and identifier in node: return self._create_new_node(node[identifier]) return None diff --git a/packages/serialization/json/tests/unit/test_json_parse_node.py b/packages/serialization/json/tests/unit/test_json_parse_node.py index f342893..18ac2c9 100644 --- a/packages/serialization/json/tests/unit/test_json_parse_node.py +++ b/packages/serialization/json/tests/unit/test_json_parse_node.py @@ -35,6 +35,19 @@ def test_get_float_value_from_float(): assert result == 44.6 +def test_get_child_node_not_found(): + parse_node = JsonParseNode({"name": "Jane Smith"}) + result = parse_node.get_child_node("age") + assert result is None + + +def test_get_child_node_empty_name(): + parse_node = JsonParseNode({"": "John Smith"}) + result = parse_node.get_child_node("") + assert result is not None + assert result.get_str_value() == "John Smith" + + @pytest.mark.parametrize("value", [0, 10, 100]) def test_get_float_value(value: int): """