public void testNormal()
      throws TException,
          IoTDBConnectionException,
          IOException,
          StatementExecutionException,
          InterruptedException {
    session_src.executeNonQueryStatement("create user " + userName + " '" + passwd + "';");
    session_src.executeNonQueryStatement("grant read,write on root.** to user " + userName);
    consumer =
        new SubscriptionTreePullConsumer.Builder()
            .host(SRC_HOST)
            .port(SRC_PORT)
            .username(userName)
            .password(passwd)
            .buildPullConsumer();
    consumer.open();
    insert_data(1706659200000L); // 2024-01-31 08:00:00+08:00
    // Subscribe
    consumer.subscribe(topicName);
    assertEquals(subs.getSubscriptions().size(), 1, "show subscriptions after subscription");
    Thread.sleep(1000);
    subs.getSubscriptions().forEach(System.out::println);
    // Consumption data
    consume_data(consumer, session_dest);
    check_count(4, "select count(s_0) from " + device, "Consumption Data: s_0");
    check_count(4, "select count(s_1) from " + device, "Consumption Data: s_1");
  }
Permission Test: Username currently only serves for connection, no permissions defined.
integration-test/src/test/java/org/apache/iotdb/subscription/it/triple/treemodel/regression/user/IoTDBOtherUserConsumerIT.java