From cc55ed0636a871097a88495b784a919f68deea2d Mon Sep 17 00:00:00 2001 From: mengw15 <125719918+mengw15@users.noreply.github.com> Date: Wed, 1 Jul 2026 00:10:50 -0700 Subject: [PATCH] test(amber): move live-catalog iceberg specs to the integration suite IcebergDocumentSpec, IcebergDocumentConsoleMessagesSpec and IcebergTableStatsSpec resolve a live Iceberg catalog in their per-test setup (DocumentFactory / IcebergCatalogInstance.getInstance()), so every case needs a catalog. Move them from common/workflow-core's test sources into amber/src/test/integration -- where the @IntegrationTest filter (AMBER_TEST_FILTER) applies and IcebergRestCatalogIntegrationSpec already lives -- and tag the three concrete specs @IntegrationTest. Tagging in place would not work: common/workflow-core/build.sbt does not read AMBER_TEST_FILTER. The shared VirtualDocumentSpec base the first two extend moves with them, into amber/src/test/scala -- it is a generic AnyFlatSpec harness (not an integration test), so it sits in the regular test sources rather than the integration set. IcebergUtilSpec stays in common/workflow-core: it has no catalog setup and its cases are pure conversions plus one REST failure check documented as passing with or without Lakekeeper reachable, so it must keep running in the amber unit job. Part of #6034. --- .../result/iceberg/IcebergDocumentConsoleMessagesSpec.scala | 2 ++ .../amber/storage/result/iceberg/IcebergDocumentSpec.scala | 2 ++ .../amber/storage/result/iceberg/IcebergTableStatsSpec.scala | 2 ++ .../texera/amber/core/storage/model/VirtualDocumentSpec.scala | 0 4 files changed, 6 insertions(+) rename {common/workflow-core/src/test/scala => amber/src/test/integration}/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentConsoleMessagesSpec.scala (97%) rename {common/workflow-core/src/test/scala => amber/src/test/integration}/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentSpec.scala (99%) rename {common/workflow-core/src/test/scala => amber/src/test/integration}/org/apache/texera/amber/storage/result/iceberg/IcebergTableStatsSpec.scala (99%) rename {common/workflow-core => amber}/src/test/scala/org/apache/texera/amber/core/storage/model/VirtualDocumentSpec.scala (100%) diff --git a/common/workflow-core/src/test/scala/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentConsoleMessagesSpec.scala b/amber/src/test/integration/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentConsoleMessagesSpec.scala similarity index 97% rename from common/workflow-core/src/test/scala/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentConsoleMessagesSpec.scala rename to amber/src/test/integration/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentConsoleMessagesSpec.scala index 4a1827b0915..55a743255a6 100644 --- a/common/workflow-core/src/test/scala/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentConsoleMessagesSpec.scala +++ b/amber/src/test/integration/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentConsoleMessagesSpec.scala @@ -24,6 +24,7 @@ import org.apache.texera.amber.core.storage.result.ResultSchema import org.apache.texera.amber.core.storage.{DocumentFactory, VFSURIFactory} import org.apache.texera.amber.core.tuple.{Schema, Tuple} import org.apache.texera.amber.core.virtualidentity._ +import org.apache.texera.amber.tags.IntegrationTest import org.scalatest.BeforeAndAfterAll import org.scalatest.flatspec.AnyFlatSpec import org.scalatest.matchers.should.Matchers @@ -32,6 +33,7 @@ import java.net.URI import scala.util.Using.Releasable import scala.util.{Try, Using} +@IntegrationTest class IcebergDocumentConsoleMessagesSpec extends AnyFlatSpec with Matchers diff --git a/common/workflow-core/src/test/scala/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentSpec.scala b/amber/src/test/integration/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentSpec.scala similarity index 99% rename from common/workflow-core/src/test/scala/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentSpec.scala rename to amber/src/test/integration/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentSpec.scala index d21644f6e64..78999c7ea3c 100644 --- a/common/workflow-core/src/test/scala/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentSpec.scala +++ b/amber/src/test/integration/org/apache/texera/amber/storage/result/iceberg/IcebergDocumentSpec.scala @@ -32,6 +32,7 @@ import org.apache.texera.amber.core.virtualidentity.{ WorkflowIdentity } import org.apache.texera.amber.core.workflow.{GlobalPortIdentity, PortIdentity} +import org.apache.texera.amber.tags.IntegrationTest import org.apache.texera.amber.util.IcebergUtil import org.apache.iceberg.catalog.Catalog import org.apache.iceberg.data.Record @@ -44,6 +45,7 @@ import java.sql.Timestamp import java.util.UUID import java.util.concurrent.atomic.AtomicInteger +@IntegrationTest class IcebergDocumentSpec extends VirtualDocumentSpec[Tuple] with BeforeAndAfterAll { var amberSchema: Schema = _ diff --git a/common/workflow-core/src/test/scala/org/apache/texera/amber/storage/result/iceberg/IcebergTableStatsSpec.scala b/amber/src/test/integration/org/apache/texera/amber/storage/result/iceberg/IcebergTableStatsSpec.scala similarity index 99% rename from common/workflow-core/src/test/scala/org/apache/texera/amber/storage/result/iceberg/IcebergTableStatsSpec.scala rename to amber/src/test/integration/org/apache/texera/amber/storage/result/iceberg/IcebergTableStatsSpec.scala index 956e9f42b90..868574abb9c 100644 --- a/common/workflow-core/src/test/scala/org/apache/texera/amber/storage/result/iceberg/IcebergTableStatsSpec.scala +++ b/amber/src/test/integration/org/apache/texera/amber/storage/result/iceberg/IcebergTableStatsSpec.scala @@ -29,6 +29,7 @@ import org.apache.texera.amber.core.virtualidentity.{ WorkflowIdentity } import org.apache.texera.amber.core.workflow.{GlobalPortIdentity, PortIdentity} +import org.apache.texera.amber.tags.IntegrationTest import org.apache.texera.amber.util.IcebergUtil import org.apache.iceberg.catalog.Catalog import org.apache.iceberg.data.Record @@ -42,6 +43,7 @@ import java.time.format.DateTimeFormatter import java.time.{LocalDate, ZoneId} import java.util.UUID +@IntegrationTest class IcebergTableStatsSpec extends AnyFlatSpec with BeforeAndAfterAll with Suite { var amberSchema: Schema = _ diff --git a/common/workflow-core/src/test/scala/org/apache/texera/amber/core/storage/model/VirtualDocumentSpec.scala b/amber/src/test/scala/org/apache/texera/amber/core/storage/model/VirtualDocumentSpec.scala similarity index 100% rename from common/workflow-core/src/test/scala/org/apache/texera/amber/core/storage/model/VirtualDocumentSpec.scala rename to amber/src/test/scala/org/apache/texera/amber/core/storage/model/VirtualDocumentSpec.scala