public static Stream<Arguments> testNoUpsert() {
    return Stream.of(
            Arguments.of(MIXED_HIVE, SCHEMA, ID_PRIMARY_KEY_SPEC, PT_SPEC),
            Arguments.of(MIXED_HIVE, SCHEMA, NO_PRIMARY_KEY, PT_SPEC),
            Arguments.of(MIXED_HIVE, SCHEMA, ID_PRIMARY_KEY_SPEC, UNPARTITIONED),
            Arguments.of(MIXED_HIVE, SCHEMA, NO_PRIMARY_KEY, UNPARTITIONED),
            Arguments.of(MIXED_ICEBERG, SCHEMA, ID_PRIMARY_KEY_SPEC, PT_SPEC),
            Arguments.of(MIXED_ICEBERG, SCHEMA, NO_PRIMARY_KEY, PT_SPEC),
            Arguments.of(MIXED_ICEBERG, SCHEMA, ID_PRIMARY_KEY_SPEC, UNPARTITIONED),
            Arguments.of(MIXED_ICEBERG, SCHEMA, NO_PRIMARY_KEY, UNPARTITIONED))
        .flatMap(
            e -> {
              List parquet = Lists.newArrayList(e.get());
              parquet.add(FileFormat.PARQUET);
              List orc = Lists.newArrayList(e.get());
              orc.add(FileFormat.ORC);
              return Stream.of(Arguments.of(parquet.toArray()), Arguments.of(orc.toArray()));
            });
  }
test 1. upsert not enabled test 2. upsert enabled test 3. upsert source duplicate check test 4.
upsert optimize write
amoro-format-mixed/amoro-mixed-spark/v3.5/amoro-mixed-spark-3.5/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertIntoSQL.java