void handleLine(final String line) {
    final String trimmedLine = Optional.ofNullable(line).orElse("").trim();
    if (trimmedLine.isEmpty()) {
      return;
    }

    handleStatements(trimmedLine);
  }
@Test
  public void shouldDescribeScalarFunction() {
    final String expectedOutput =
        "Name        : TIMESTAMPTOSTRING\n"
            + "Author      : Confluent\n"
            + "Overview    : Converts a number of milliseconds since 1970-01-01 00:00:00 UTC/GMT "
            + "into the string \n"
            + "              representation of the timestamp in the given format. The system "
            + "default time zone is \n"
            + "              used when no time zone is explicitly provided.\n"
            + "Type        : SCALAR\n"
            + "Jar         : internal\n"
            + "Variations  :";

    localCli.handleLine("describe function timestamptostring;");
    final String outputString = terminal.getOutputString();
    assertThat(outputString, containsString(expectedOutput));

    // variations for Udfs are loaded non-deterministically. Don't assume which variation is first
    final String expectedVariation =
        "\tVariation   : TIMESTAMPTOSTRING(epochMilli BIGINT, formatPattern VARCHAR)\n" +
                "\tReturns     : VARCHAR\n" +
                "\tDescription : Converts a number of milliseconds since 1970-01-01 00:00:00 "
              + "UTC/GMT into the string \n" +
                "                representation of the timestamp in the given format. Single "
              + "quotes in the timestamp \n" +
                "                format can be escaped with '', for example: "
              + "'yyyy-MM-dd''T''HH:mm:ssX'. The system \n" +
                "                default time zone is used when no time zone is explicitly "
              + "provided. The format \n" +
                "                pattern should be in the format expected by "
              + "java.time.format.DateTimeFormatter\n" +
                "\tepochMilli  : Milliseconds since January 1, 1970, 00:00:00 UTC/GMT.\n" +
                "\tformatPattern: The format pattern should be in the format expected by \n" +
                "                 java.time.format.DateTimeFormatter.";

    assertThat(outputString, containsString(expectedVariation));
  }