def METHOD_NAME(self):
    """
    Test the update_expiration_date function with an existing rule.
    """
    self.mock_s3_client.get_bucket_lifecycle_configuration.return_value = {
        "Rules": [
            {
                "ID": "test_key",
                "Filter": {"Prefix": "test_key"},
                "Status": "Enabled",
                "Expiration": {"Date": "2022-01-01"},
            },
            {
                "ID": "test_key2",
                "Filter": {"Prefix": "test_key2"},
                "Status": "Enabled",
                "Expiration": {"Date": "2022-02-02"},
            },
        ]
    }
    with mock.patch("boto3.client", return_value=self.mock_s3_client):
        update_expiration_date("test_key", datetime(2022, 12, 31))
    self.mock_s3_client.put_bucket_lifecycle_configuration.assert_called_once_with(
        Bucket="test-marsha-destination",
        LifecycleConfiguration={
            "Rules": [
                {
                    "ID": "test_key",
                    "Filter": {"Prefix": "test_key"},
                    "Status": "Enabled",
                    "Expiration": {"Date": "2022-12-31"},
                },
                {
                    "ID": "test_key2",
                    "Filter": {"Prefix": "test_key2"},
                    "Status": "Enabled",
                    "Expiration": {"Date": "2022-02-02"},
                },
            ]
        },
    )