From f9fbab0311746f3d18e65de5bb0fac67a17af22f Mon Sep 17 00:00:00 2001 From: Twisha Bansal Date: Mon, 5 May 2025 14:47:21 +0530 Subject: [PATCH 1/2] tests: improve coverage --- packages/toolbox-core/tests/test_tool.py | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/packages/toolbox-core/tests/test_tool.py b/packages/toolbox-core/tests/test_tool.py index fffa030a..f56eec69 100644 --- a/packages/toolbox-core/tests/test_tool.py +++ b/packages/toolbox-core/tests/test_tool.py @@ -397,3 +397,34 @@ def test_tool_init_header_auth_conflict( bound_params={}, client_headers=conflicting_client_header, ) + +def test_tool_add_auth_token_getters_conflict_with_existing_client_header( + http_session: ClientSession, + sample_tool_params: list[ParameterSchema], + sample_tool_description: str, +): + """ + Tests ValueError when add_auth_token_getters introduces an auth service + whose token name conflicts with an existing client header. + """ + tool_instance = ToolboxTool( + session=http_session, + base_url=TEST_BASE_URL, + name="tool_with_client_header", + description=sample_tool_description, + params=sample_tool_params, + required_authn_params={}, + auth_service_token_getters={}, + bound_params={}, + client_headers={ "X-Shared-Auth-Token_token": "value_from_initial_client_headers"}, + ) + new_auth_getters_causing_conflict = { + "X-Shared-Auth-Token": lambda: "token_value_from_new_getter" + } + expected_error_message = ( + f"Client header\\(s\\) `X-Shared-Auth-Token_token` already registered in client. " + f"Cannot register client the same headers in the client as well as tool." + ) + + with pytest.raises(ValueError, match=expected_error_message): + tool_instance.add_auth_token_getters(new_auth_getters_causing_conflict) \ No newline at end of file From 0e90c11fdb93f0f0ed9fb9a9b9143b94b20f51a5 Mon Sep 17 00:00:00 2001 From: Twisha Bansal Date: Mon, 5 May 2025 14:48:43 +0530 Subject: [PATCH 2/2] lint --- packages/toolbox-core/tests/test_tool.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/toolbox-core/tests/test_tool.py b/packages/toolbox-core/tests/test_tool.py index f56eec69..c0ab5bfa 100644 --- a/packages/toolbox-core/tests/test_tool.py +++ b/packages/toolbox-core/tests/test_tool.py @@ -398,6 +398,7 @@ def test_tool_init_header_auth_conflict( client_headers=conflicting_client_header, ) + def test_tool_add_auth_token_getters_conflict_with_existing_client_header( http_session: ClientSession, sample_tool_params: list[ParameterSchema], @@ -416,7 +417,9 @@ def test_tool_add_auth_token_getters_conflict_with_existing_client_header( required_authn_params={}, auth_service_token_getters={}, bound_params={}, - client_headers={ "X-Shared-Auth-Token_token": "value_from_initial_client_headers"}, + client_headers={ + "X-Shared-Auth-Token_token": "value_from_initial_client_headers" + }, ) new_auth_getters_causing_conflict = { "X-Shared-Auth-Token": lambda: "token_value_from_new_getter" @@ -427,4 +430,4 @@ def test_tool_add_auth_token_getters_conflict_with_existing_client_header( ) with pytest.raises(ValueError, match=expected_error_message): - tool_instance.add_auth_token_getters(new_auth_getters_causing_conflict) \ No newline at end of file + tool_instance.add_auth_token_getters(new_auth_getters_causing_conflict)