code: def test_set_range_generator(self):
      PulsarSource.builder().set_service_url(
          "pulsar://localhost:6650"
      ).set_admin_url("http://localhost:8080").set_topics(
          ["ada", "beta"]
      ).set_subscription_name(
          "ff"
      ).set_deserialization_schema(
          SimpleStringSchema()
      ).set_range_generator(
          RangeGenerator.full()
      ).build()
  
      PulsarSource.builder().set_service_url(
          "pulsar://localhost:6650"
      ).set_admin_url("http://localhost:8080").set_topics(
          ["ada", "beta"]
      ).set_subscription_name(
          "ff"
      ).set_deserialization_schema(
          SimpleStringSchema()
      ).set_range_generator(
          RangeGenerator.fixed_key(
              keys="k", key_bytes=bytearray(b"abc")
          )
      ).build()
  
file_path: flink/flink-python/pyflink/datastream/connectors/tests/test_pulsar.py
imports: from pyflink.common import WatermarkStrategy, SimpleStringSchema, Types, ConfigOptions, Duration
  from pyflink.datastream.connectors import DeliveryGuarantee
  from pyflink.datastream.connectors.pulsar import TopicRoutingMode, MessageDelayer, PulsarSink, PulsarSource, StartCursor, StopCursor, RangeGenerator
  from pyflink.testing.test_case_utils import PyFlinkUTTestCase
  from pyflink.util.java_utils import get_field_value, is_instance_of
label_desc: Use image node_id 7 for calling the FlinkPulsarTest obj's underlying member method code with example usage: obj.test_set_range_generator() without return types