This is an automated email from the ASF dual-hosted git repository.
dimas pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/main by this push:
new 633cedf93 Add newIcebergCatalog helper (#2134)
633cedf93 is described below
commit 633cedf93be170ed7e29a87fdf9ba7071d0c7678
Author: Christopher Lambert <[email protected]>
AuthorDate: Fri Jul 18 20:32:50 2025 +0200
Add newIcebergCatalog helper (#2134)
creation of `IcebergCatalog` instances was quite redundant as tests
mostly use the same parameters most of the time.
also remove an unused field in 2 other tests.
---
.../quarkus/admin/PolarisAuthzTestBase.java | 2 -
.../admin/PolarisS3InteroperabilityTest.java | 3 -
.../catalog/AbstractIcebergCatalogTest.java | 142 +++++----------------
3 files changed, 34 insertions(+), 113 deletions(-)
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java
b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java
index 1944a5aa3..013e2c99e 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java
@@ -72,7 +72,6 @@ import
org.apache.polaris.core.persistence.PolarisEntityManager;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.dao.entity.EntityResult;
import org.apache.polaris.core.persistence.resolver.PolarisResolutionManifest;
-import
org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
import org.apache.polaris.core.policy.PredefinedPolicyTypes;
import org.apache.polaris.core.secrets.UserSecretsManager;
import org.apache.polaris.core.secrets.UserSecretsManagerFactory;
@@ -200,7 +199,6 @@ public abstract class PolarisAuthzTestBase {
protected PolarisEntityManager entityManager;
protected PolarisMetaStoreManager metaStoreManager;
protected UserSecretsManager userSecretsManager;
- protected TransactionalPersistence metaStoreSession;
protected PolarisBaseEntity catalogEntity;
protected PrincipalEntity principalEntity;
protected CallContext callContext;
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisS3InteroperabilityTest.java
b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisS3InteroperabilityTest.java
index 2e8d7ccd1..ff9dbb6c3 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisS3InteroperabilityTest.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisS3InteroperabilityTest.java
@@ -31,7 +31,6 @@ import java.util.Map;
import org.apache.iceberg.catalog.Namespace;
import org.apache.iceberg.exceptions.ForbiddenException;
import org.apache.iceberg.inmemory.InMemoryFileIO;
-import org.apache.iceberg.io.FileIO;
import org.apache.iceberg.rest.requests.CreateNamespaceRequest;
import org.apache.iceberg.rest.requests.CreateTableRequest;
import org.apache.iceberg.rest.responses.GetNamespaceResponse;
@@ -61,8 +60,6 @@ public class PolarisS3InteroperabilityTest {
"true",
"SUPPORTED_CATALOG_STORAGE_TYPES",
List.of("FILE", "S3"));
- private static final FileIO fileIO = new InMemoryFileIO();
-
private final TestServices services;
private static String makeNamespaceLocation(String catalogName, String
namespace, String scheme) {
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/AbstractIcebergCatalogTest.java
b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/AbstractIcebergCatalogTest.java
index b4df56e8e..c153a2518 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/AbstractIcebergCatalogTest.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/AbstractIcebergCatalogTest.java
@@ -400,20 +400,7 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
@Override
protected IcebergCatalog initCatalog(
String catalogName, Map<String, String> additionalProperties) {
- PolarisPassthroughResolutionView passthroughView =
- new PolarisPassthroughResolutionView(
- polarisContext, entityManager, securityContext, CATALOG_NAME);
- TaskExecutor taskExecutor = Mockito.mock();
- IcebergCatalog icebergCatalog =
- new IcebergCatalog(
- entityManager,
- metaStoreManager,
- polarisContext,
- passthroughView,
- securityContext,
- taskExecutor,
- fileIOFactory,
- polarisEventListener);
+ IcebergCatalog icebergCatalog = newIcebergCatalog(CATALOG_NAME);
fileIO = new InMemoryFileIO();
icebergCatalog.setCatalogFileIo(fileIO);
ImmutableMap.Builder<String, String> propertiesBuilder =
@@ -444,6 +431,32 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
return true;
}
+ protected IcebergCatalog newIcebergCatalog(String catalogName) {
+ return newIcebergCatalog(catalogName, metaStoreManager);
+ }
+
+ protected IcebergCatalog newIcebergCatalog(
+ String catalogName, PolarisMetaStoreManager metaStoreManager) {
+ return newIcebergCatalog(catalogName, metaStoreManager, fileIOFactory);
+ }
+
+ protected IcebergCatalog newIcebergCatalog(
+ String catalogName, PolarisMetaStoreManager metaStoreManager,
FileIOFactory fileIOFactory) {
+ PolarisPassthroughResolutionView passthroughView =
+ new PolarisPassthroughResolutionView(
+ polarisContext, entityManager, securityContext, catalogName);
+ TaskExecutor taskExecutor = Mockito.mock(TaskExecutor.class);
+ return new IcebergCatalog(
+ entityManager,
+ metaStoreManager,
+ polarisContext,
+ passthroughView,
+ securityContext,
+ taskExecutor,
+ fileIOFactory,
+ polarisEventListener);
+ }
+
@Test
public void testEmptyNamespace() {
IcebergCatalog catalog = catalog();
@@ -982,21 +995,9 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
// filename.
final String tableLocation =
"s3://externally-owned-bucket/validate_table/";
final String tableMetadataLocation = tableLocation + "metadata/";
- PolarisPassthroughResolutionView passthroughView =
- new PolarisPassthroughResolutionView(
- polarisContext, entityManager, securityContext, catalog().name());
FileIOFactory fileIOFactory =
spy(new DefaultFileIOFactory(realmEntityManagerFactory,
metaStoreManagerFactory));
- IcebergCatalog catalog =
- new IcebergCatalog(
- entityManager,
- metaStoreManager,
- polarisContext,
- passthroughView,
- securityContext,
- Mockito.mock(TaskExecutor.class),
- fileIOFactory,
- polarisEventListener);
+ IcebergCatalog catalog = newIcebergCatalog(catalog().name(),
metaStoreManager, fileIOFactory);
catalog.initialize(
CATALOG_NAME,
ImmutableMap.of(
@@ -1314,20 +1315,7 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
.build()
.asCatalog()));
- PolarisPassthroughResolutionView passthroughView =
- new PolarisPassthroughResolutionView(
- polarisContext, entityManager, securityContext,
catalogWithoutStorage);
- TaskExecutor taskExecutor = Mockito.mock();
- IcebergCatalog catalog =
- new IcebergCatalog(
- entityManager,
- metaStoreManager,
- polarisContext,
- passthroughView,
- securityContext,
- taskExecutor,
- fileIOFactory,
- polarisEventListener);
+ IcebergCatalog catalog = newIcebergCatalog(catalogWithoutStorage);
catalog.initialize(
catalogWithoutStorage,
ImmutableMap.of(
@@ -1378,21 +1366,7 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
.build()
.asCatalog()));
- PolarisPassthroughResolutionView passthroughView =
- new PolarisPassthroughResolutionView(
- polarisContext, entityManager, securityContext, catalogName);
- TaskExecutor taskExecutor = Mockito.mock();
- InMemoryFileIO localFileIO = new InMemoryFileIO();
- IcebergCatalog catalog =
- new IcebergCatalog(
- entityManager,
- metaStoreManager,
- polarisContext,
- passthroughView,
- securityContext,
- taskExecutor,
- fileIOFactory,
- polarisEventListener);
+ IcebergCatalog catalog = newIcebergCatalog(catalogName);
catalog.initialize(
catalogName,
ImmutableMap.of(
@@ -1909,19 +1883,8 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
polarisContext, noPurgeStorageConfigModel, storageLocation)
.build()
.asCatalog()));
- PolarisPassthroughResolutionView passthroughView =
- new PolarisPassthroughResolutionView(
- polarisContext, entityManager, securityContext,
noPurgeCatalogName);
IcebergCatalog noPurgeCatalog =
- new IcebergCatalog(
- entityManager,
- metaStoreManager,
- polarisContext,
- passthroughView,
- securityContext,
- Mockito.mock(),
- fileIOFactory,
- polarisEventListener);
+ newIcebergCatalog(noPurgeCatalogName, metaStoreManager, fileIOFactory);
noPurgeCatalog.initialize(
noPurgeCatalogName,
ImmutableMap.of(
@@ -2012,22 +1975,9 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
@Test
public void testFileIOWrapper() {
- PolarisPassthroughResolutionView passthroughView =
- new PolarisPassthroughResolutionView(
- polarisContext, entityManager, securityContext, CATALOG_NAME);
-
MeasuredFileIOFactory measured =
new MeasuredFileIOFactory(realmEntityManagerFactory,
metaStoreManagerFactory);
- IcebergCatalog catalog =
- new IcebergCatalog(
- entityManager,
- metaStoreManager,
- polarisContext,
- passthroughView,
- securityContext,
- Mockito.mock(),
- measured,
- polarisEventListener);
+ IcebergCatalog catalog = newIcebergCatalog(CATALOG_NAME, metaStoreManager,
measured);
catalog.initialize(
CATALOG_NAME,
ImmutableMap.of(
@@ -2116,19 +2066,7 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
// Use a spy so that non-transactional pre-requisites succeed normally,
but we inject
// a concurrency failure at final commit.
PolarisMetaStoreManager spyMetaStore = spy(metaStoreManager);
- PolarisPassthroughResolutionView passthroughView =
- new PolarisPassthroughResolutionView(
- polarisContext, entityManager, securityContext, CATALOG_NAME);
- final IcebergCatalog catalog =
- new IcebergCatalog(
- entityManager,
- spyMetaStore,
- polarisContext,
- passthroughView,
- securityContext,
- Mockito.mock(TaskExecutor.class),
- fileIOFactory,
- polarisEventListener);
+ final IcebergCatalog catalog = newIcebergCatalog(CATALOG_NAME,
spyMetaStore);
catalog.initialize(
CATALOG_NAME,
ImmutableMap.of(
@@ -2165,19 +2103,7 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
// Use a spy so that non-transactional pre-requisites succeed normally,
but we inject
// a concurrency failure at final commit.
PolarisMetaStoreManager spyMetaStore = spy(metaStoreManager);
- PolarisPassthroughResolutionView passthroughView =
- new PolarisPassthroughResolutionView(
- polarisContext, entityManager, securityContext, CATALOG_NAME);
- final IcebergCatalog catalog =
- new IcebergCatalog(
- entityManager,
- spyMetaStore,
- polarisContext,
- passthroughView,
- securityContext,
- Mockito.mock(TaskExecutor.class),
- fileIOFactory,
- polarisEventListener);
+ final IcebergCatalog catalog = newIcebergCatalog(CATALOG_NAME,
spyMetaStore);
catalog.initialize(
CATALOG_NAME,
ImmutableMap.of(