### 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.
self.sensor.is_bucket_updated({"a"})
        assert self.sensor.inactivity_seconds == 0
        self.sensor.is_bucket_updated({"a", "b"})
        assert self.sensor.inactivity_seconds == 0
        self.sensor.is_bucket_updated({"a", "b", "c"})
        assert self.sensor.inactivity_seconds == 0
    @mock.patch("airflow.providers.google.cloud.sensors.gcs.get_time", mock_time)
    def test_no_new_data(self):
        self.sensor.is_bucket_updated({"a"})
        assert self.sensor.inactivity_seconds == 0
        self.sensor.is_bucket_updated({"a"})
        assert self.sensor.inactivity_seconds == 10
    @mock.patch("airflow.providers.google.cloud.sensors.gcs.get_time", mock_time)
    def test_no_new_data_success_criteria(self):
        self.sensor.is_bucket_updated({"a"})
        assert self.sensor.inactivity_seconds == 0
        self.sensor.is_bucket_updated({"a"})
        assert self.sensor.inactivity_seconds == 10
        assert self.sensor.is_bucket_updated({"a"})
    @mock.patch("airflow.providers.google.cloud.sensors.gcs.get_time", mock_time)
    def test_not_enough_objects(self):
        self.sensor.is_bucket_updated(set())
        assert self.sensor.inactivity_seconds == 0
        self.sensor.is_bucket_updated(set())
        assert self.sensor.inactivity_seconds == 10
        assert not self.sensor.is_bucket_updated(set())
class TestGCSUploadSessionCompleteAsyncSensor: