### Body

Currently `start_date` is mandatory parameter.
For DAGs with `schedule=None` we can relax this requirement as no scheduling calculation needed so the `start_date` parameter isn't used.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
"""Tests that an AirflowException is raised in case of error event"""
        with pytest.warns(AirflowProviderDeprecationWarning, match=self.depcrecation_message):
            task = GCSObjectExistenceAsyncSensor(
                task_id="task-id",
                bucket=TEST_BUCKET,
                object=TEST_OBJECT,
                google_cloud_conn_id=TEST_GCP_CONN_ID,
                soft_fail=soft_fail,
            )
        with pytest.raises(expected_exception):
            task.execute_complete(context=None, event={"status": "error", "message": "test failure message"})
    def test_gcs_object_existence_async_sensor_execute_complete(self):
        """Asserts that logging occurs as expected"""
        with pytest.warns(AirflowProviderDeprecationWarning, match=self.depcrecation_message):
            task = GCSObjectExistenceAsyncSensor(
                task_id="task-id",
                bucket=TEST_BUCKET,
                object=TEST_OBJECT,
                google_cloud_conn_id=TEST_GCP_CONN_ID,
            )
        with mock.patch.object(task.log, "info") as mock_log_info:
            task.execute_complete(context=None, event={"status": "success", "message": "Job completed"})
        mock_log_info.assert_called_with("File %s was found in bucket %s.", TEST_OBJECT, TEST_BUCKET)
class TestTsFunction: