### 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.
def test_should_support_datetime(self):
        context = {
            "dag": DAG(dag_id=TEST_DAG_ID, schedule=timedelta(days=5)),
            "execution_date": datetime(2019, 2, 14, 0, 0),
        }
        result = ts_function(context)
        assert datetime(2019, 2, 19, 0, 0, tzinfo=timezone.utc) == result
    def test_should_support_cron(self):
        dag = DAG(dag_id=TEST_DAG_ID, start_date=datetime(2019, 2, 19, 0, 0), schedule="@weekly")
        context = {
            "dag": dag,
            "execution_date": datetime(2019, 2, 19),
        }
        result = ts_function(context)
        assert pendulum.instance(datetime(2019, 2, 24)).isoformat() == result.isoformat()
class TestGoogleCloudStorageObjectUpdatedSensor: