### 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.
#
#
#
from __future__ import annotations
from datetime import datetime, timedelta, timezone
from unittest import mock
import pendulum
import pytest
from google.cloud.storage.retry import DEFAULT_RETRY
from airflow.exceptions import (
    AirflowProviderDeprecationWarning,
    AirflowSensorTimeout,
    AirflowSkipException,
    TaskDeferred,
)
from airflow.models.dag import DAG, AirflowException
from airflow.providers.google.cloud.sensors.gcs import (
    GCSObjectExistenceAsyncSensor,
    GCSObjectExistenceSensor,
    GCSObjectsWithPrefixExistenceSensor,
    GCSObjectUpdateSensor,
    GCSUploadSessionCompleteSensor,
    ts_function,
)
from airflow.providers.google.cloud.triggers.gcs import (
    GCSBlobTrigger,
    GCSCheckBlobUpdateTimeTrigger,