@@ -1617,13 +1617,13 @@ def test_invoke_activity_with_none_values_filtered(
16171617 request_json = json .loads (sent_request .content .decode ())
16181618 assert request_json == {"body_field1" : "value1" }
16191619
1620- def test_invoke_activity_unknown_parameter_raises_error (
1620+ def test_invoke_activity_unknown_parameter_is_ignored (
16211621 self ,
16221622 httpx_mock : HTTPXMock ,
16231623 service : ConnectionsService ,
16241624 simple_activity_metadata : ActivityMetadata ,
16251625 ) -> None :
1626- """Test that unknown parameters raise a ValueError ."""
1626+ """Test that unknown parameters are ignored ."""
16271627 connection_id = "test-connection-123"
16281628 activity_input = {
16291629 "unknown_param" : "value" , # This parameter doesn't exist in metadata
@@ -1634,16 +1634,63 @@ def test_invoke_activity_unknown_parameter_raises_error(
16341634 status_code = 200 ,
16351635 json = {"id" : connection_id , "name" : "Test" , "elementInstanceId" : 1 },
16361636 )
1637+ httpx_mock .add_response (
1638+ method = "POST" ,
1639+ status_code = 200 ,
1640+ json = {},
1641+ )
16371642
1638- with pytest .raises (
1639- ValueError ,
1640- match = "Parameter unknown_param does not exist in activity metadata" ,
1641- ):
1642- service .invoke_activity (
1643- activity_metadata = simple_activity_metadata ,
1644- connection_id = connection_id ,
1645- activity_input = activity_input ,
1646- )
1643+ service .invoke_activity (
1644+ activity_metadata = simple_activity_metadata ,
1645+ connection_id = connection_id ,
1646+ activity_input = activity_input ,
1647+ )
1648+
1649+ requests = httpx_mock .get_requests ()
1650+ sent_request = requests [1 ]
1651+ assert "unknown_param" not in sent_request .url .params
1652+ assert "unknown_param" not in str (sent_request .url .path )
1653+ assert "unknown_param" not in sent_request .headers
1654+ request_json = json .loads (sent_request .content .decode ())
1655+ assert "unknown_param" not in request_json
1656+
1657+ def test_invoke_activity_unknown_parameter_is_ignored_multipart (
1658+ self ,
1659+ httpx_mock : HTTPXMock ,
1660+ service : ConnectionsService ,
1661+ multipart_activity_metadata : ActivityMetadata ,
1662+ ) -> None :
1663+ """Test that unknown parameters are ignored in multipart requests."""
1664+ connection_id = "test-connection-123"
1665+ activity_input = {
1666+ "unknown_param" : "value" , # This parameter doesn't exist in metadata
1667+ }
1668+
1669+ httpx_mock .add_response (
1670+ method = "GET" ,
1671+ status_code = 200 ,
1672+ json = {"id" : connection_id , "name" : "Test" , "elementInstanceId" : 1 },
1673+ )
1674+ httpx_mock .add_response (
1675+ method = "POST" ,
1676+ status_code = 200 ,
1677+ json = {},
1678+ )
1679+
1680+ service .invoke_activity (
1681+ activity_metadata = multipart_activity_metadata ,
1682+ connection_id = connection_id ,
1683+ activity_input = activity_input ,
1684+ )
1685+
1686+ requests = httpx_mock .get_requests ()
1687+ sent_request = requests [1 ]
1688+
1689+ assert "unknown_param" not in sent_request .url .params
1690+ assert "unknown_param" not in str (sent_request .url .path )
1691+ assert "unknown_param" not in sent_request .headers
1692+ body = sent_request .content .decode ("utf-8" , errors = "replace" )
1693+ assert "unknown_param" not in body
16471694
16481695 def test_invoke_activity_unsupported_content_type_raises_error (
16491696 self ,
0 commit comments