@@ -117,6 +117,42 @@ def test_create_transport_with_sigv4_no_profile(
117117 # If we can't access the factory directly, just verify the transport was created
118118 assert result is not None
119119
120+ @patch ('mcp_proxy_for_aws.utils.create_aws_session' )
121+ @patch ('mcp_proxy_for_aws.utils.create_sigv4_client' )
122+ def test_create_transport_with_sigv4_kwargs_passthrough (
123+ self , mock_create_sigv4_client , mock_create_session
124+ ):
125+ """Test that kwargs are passed through to create_sigv4_client."""
126+ from httpx import Timeout
127+
128+ mock_session = MagicMock ()
129+ mock_create_session .return_value = mock_session
130+
131+ url = 'https://test-service.us-west-2.api.aws/mcp'
132+ service = 'test-service'
133+ region = 'test-region'
134+ metadata = {'AWS_REGION' : 'test-region' }
135+ custom_timeout = Timeout (60.0 )
136+
137+ result = create_transport_with_sigv4 (url , service , region , metadata , custom_timeout )
138+
139+ if hasattr (result , 'httpx_client_factory' ) and result .httpx_client_factory :
140+ factory = result .httpx_client_factory
141+ factory (headers = None , timeout = None , auth = None , follow_redirects = True )
142+
143+ mock_create_sigv4_client .assert_called_once_with (
144+ service = service ,
145+ session = mock_session ,
146+ region = region ,
147+ headers = None ,
148+ timeout = custom_timeout ,
149+ auth = None ,
150+ metadata = metadata ,
151+ follow_redirects = True ,
152+ )
153+ else :
154+ assert result is not None
155+
120156
121157class TestValidateRequiredArgs :
122158 """Test cases for validate_service_name function."""
0 commit comments