From 0beee40cd36a84b8ceb2cb12cd4d2a665a30326b Mon Sep 17 00:00:00 2001 From: Dmitri Bourlatchkov Date: Fri, 5 Sep 2025 19:39:08 -0400 Subject: [PATCH] Allow overriding createCatalog calls in integrations tests This is mostly to add testing flexibility in downstream projects. --- .../org/apache/polaris/service/it/env/ManagementApi.java | 3 +++ .../it/test/PolarisRestCatalogIntegrationBase.java | 8 +++++++- .../it/test/PolarisRestCatalogViewIntegrationBase.java | 9 ++++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/integration-tests/src/main/java/org/apache/polaris/service/it/env/ManagementApi.java b/integration-tests/src/main/java/org/apache/polaris/service/it/env/ManagementApi.java index 3e76d92d72..f985c34926 100644 --- a/integration-tests/src/main/java/org/apache/polaris/service/it/env/ManagementApi.java +++ b/integration-tests/src/main/java/org/apache/polaris/service/it/env/ManagementApi.java @@ -164,7 +164,10 @@ public GrantResources listGrants(String catalogName, String catalogRoleName) { public void createCatalog(String principalRoleName, Catalog catalog) { createCatalog(catalog); + makeAdmin(principalRoleName, catalog); + } + public void makeAdmin(String principalRoleName, Catalog catalog) { // Create a new CatalogRole that has CATALOG_MANAGE_CONTENT and CATALOG_MANAGE_ACCESS String catalogRoleName = "custom-admin"; createCatalogRole(catalog.getName(), catalogRoleName); diff --git a/integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogIntegrationBase.java b/integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogIntegrationBase.java index ad72ad5ebc..f82efc9236 100644 --- a/integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogIntegrationBase.java +++ b/integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogIntegrationBase.java @@ -275,7 +275,8 @@ public void before(TestInfo testInfo) { .setStorageConfigInfo(storageConfig) .build(); - managementApi.createCatalog(principalRoleName, catalog); + createPolarisCatalog(catalog); + managementApi.makeAdmin(principalRoleName, catalog); restCatalogConfig = IntegrationTestsHelper.mergeFromAnnotatedElements( @@ -340,6 +341,11 @@ protected RESTCatalog catalog() { return restCatalog; } + /** Overridable methods to allow subclasses to execute additional logic on catalog creation. */ + protected void createPolarisCatalog(Catalog catalog) { + managementApi.createCatalog(catalog); + } + /** * Initialize a RESTCatalog for testing. * diff --git a/integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogViewIntegrationBase.java b/integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogViewIntegrationBase.java index ccb9bc18d3..778ea30a54 100644 --- a/integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogViewIntegrationBase.java +++ b/integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogViewIntegrationBase.java @@ -137,7 +137,9 @@ public void before(TestInfo testInfo) { .setProperties(props) .setStorageConfigInfo(storageConfig) .build(); - managementApi.createCatalog(principalRoleName, catalog); + + createPolarisCatalog(catalog); + managementApi.makeAdmin(principalRoleName, catalog); restCatalog = IcebergHelper.restCatalog( @@ -152,6 +154,11 @@ public void cleanUp() { client.cleanUp(adminToken); } + /** Overridable methods to allow subclasses to execute additional logic on catalog creation. */ + protected void createPolarisCatalog(Catalog catalog) { + managementApi.createCatalog(catalog); + } + /** * @return The catalog's storage config. */