From 25e13ba18f3605650725471ab52eee794f63dff0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 20:44:06 -0700 Subject: [PATCH] [#4851] fix: make `TestHiveTableOperations` setup independently (#4857) ### What changes were proposed in this pull request? `TestHiveTableOperations` can be tested before `TestHiveTable` initialized. Make `TestHiveTableOperations::steup()` run alone. ### Why are the changes needed? When we try to just run `gradle :catalogs:catalog-hive:test --tests 'org.apache.gravitino.catalog.hive.TestHiveTableOperations'`, `TestHiveTableOperations` needs static variables which must be initialized ahead, and it can't be run alone. Fix: #4851 ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Refactor of unit test setup, local unit tests have passed. Co-authored-by: Edward Xu <14014471+LindaSummer@users.noreply.github.com> --- .../apache/gravitino/catalog/hive/TestHiveTable.java | 12 ++++++++---- .../catalog/hive/TestHiveTableOperations.java | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/catalogs/catalog-hive/src/test/java/org/apache/gravitino/catalog/hive/TestHiveTable.java b/catalogs/catalog-hive/src/test/java/org/apache/gravitino/catalog/hive/TestHiveTable.java index 56694807498..3c0be1f20ea 100644 --- a/catalogs/catalog-hive/src/test/java/org/apache/gravitino/catalog/hive/TestHiveTable.java +++ b/catalogs/catalog-hive/src/test/java/org/apache/gravitino/catalog/hive/TestHiveTable.java @@ -73,21 +73,25 @@ public class TestHiveTable extends MiniHiveMetastoreService { private static void setup() { hiveCatalog = initHiveCatalog(); hiveCatalogOperations = (HiveCatalogOperations) hiveCatalog.ops(); - hiveSchema = initHiveSchema(hiveCatalog); + hiveSchema = initHiveSchema(); } @AfterEach private void resetSchema() { hiveCatalogOperations.dropSchema(schemaIdent, true); - hiveSchema = initHiveSchema(hiveCatalog); + hiveSchema = initHiveSchema(); } - protected static HiveSchema initHiveSchema(HiveCatalog hiveCatalog) { + protected static HiveSchema initHiveSchema() { + return initHiveSchema(hiveCatalogOperations); + } + + protected static HiveSchema initHiveSchema(HiveCatalogOperations ops) { Map properties = Maps.newHashMap(); properties.put("key1", "val1"); properties.put("key2", "val2"); - return hiveCatalogOperations.createSchema(schemaIdent, HIVE_COMMENT, properties); + return ops.createSchema(schemaIdent, HIVE_COMMENT, properties); } protected static HiveCatalog initHiveCatalog() { diff --git a/catalogs/catalog-hive/src/test/java/org/apache/gravitino/catalog/hive/TestHiveTableOperations.java b/catalogs/catalog-hive/src/test/java/org/apache/gravitino/catalog/hive/TestHiveTableOperations.java index a3c3181b65c..bb5768469e8 100644 --- a/catalogs/catalog-hive/src/test/java/org/apache/gravitino/catalog/hive/TestHiveTableOperations.java +++ b/catalogs/catalog-hive/src/test/java/org/apache/gravitino/catalog/hive/TestHiveTableOperations.java @@ -59,7 +59,7 @@ public class TestHiveTableOperations extends MiniHiveMetastoreService { public static void setup() { hiveCatalog = initHiveCatalog(); hiveCatalogOperations = (HiveCatalogOperations) hiveCatalog.ops(); - initHiveSchema(hiveCatalog); + initHiveSchema(hiveCatalogOperations); hiveTable = createPartitionedTable(); // add partition: city=0/dt=2020-01-01