This is an automated email from the ASF dual-hosted git repository. emaynard 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 19f44d8e8 Remove duplicate MetaStoreManagerFactory mocks (#2023) 19f44d8e8 is described below commit 19f44d8e892d80920980d1d03555535b37147923 Author: Christopher Lambert <xn...@gmx.de> AuthorDate: Thu Jul 10 20:51:09 2025 +0200 Remove duplicate MetaStoreManagerFactory mocks (#2023) also rename the field for clarity and consistency --- .../quarkus/catalog/IcebergCatalogTest.java | 64 ++++------------------ .../quarkus/catalog/IcebergCatalogViewTest.java | 10 ++-- .../catalog/PolarisGenericTableCatalogTest.java | 53 ++---------------- .../service/quarkus/catalog/PolicyCatalogTest.java | 53 ++---------------- 4 files changed, 29 insertions(+), 151 deletions(-) diff --git a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogTest.java b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogTest.java index 05c2642f1..a5f4f9080 100644 --- a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogTest.java +++ b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogTest.java @@ -52,10 +52,8 @@ import java.util.Map; import java.util.Set; import java.util.UUID; import java.util.function.Function; -import java.util.function.Supplier; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.apache.commons.lang3.NotImplementedException; import org.apache.iceberg.BaseTable; import org.apache.iceberg.CatalogProperties; import org.apache.iceberg.ContentFile; @@ -114,13 +112,10 @@ import org.apache.polaris.core.persistence.MetaStoreManagerFactory; import org.apache.polaris.core.persistence.PolarisEntityManager; import org.apache.polaris.core.persistence.PolarisMetaStoreManager; import org.apache.polaris.core.persistence.PolarisResolvedPathWrapper; -import org.apache.polaris.core.persistence.bootstrap.RootCredentialsSet; import org.apache.polaris.core.persistence.cache.InMemoryEntityCache; import org.apache.polaris.core.persistence.dao.entity.BaseResult; import org.apache.polaris.core.persistence.dao.entity.EntityResult; -import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult; import org.apache.polaris.core.persistence.pagination.PageToken; -import org.apache.polaris.core.persistence.transactional.TransactionalPersistence; import org.apache.polaris.core.secrets.UserSecretsManager; import org.apache.polaris.core.secrets.UserSecretsManagerFactory; import org.apache.polaris.core.storage.PolarisStorageActions; @@ -239,7 +234,7 @@ public abstract class IcebergCatalogTest extends CatalogTests<IcebergCatalog> { CatalogProperties.TABLE_OVERRIDE_PREFIX + "override-key4", "catalog-override-key4"); - @Inject MetaStoreManagerFactory managerFactory; + @Inject MetaStoreManagerFactory metaStoreManagerFactory; @Inject PolarisConfigurationStore configurationStore; @Inject PolarisStorageIntegrationProvider storageIntegrationProvider; @Inject UserSecretsManagerFactory userSecretsManagerFactory; @@ -284,12 +279,12 @@ public abstract class IcebergCatalogTest extends CatalogTests<IcebergCatalog> { testInfo.getTestMethod().map(Method::getName).orElse("test"), System.nanoTime()); RealmContext realmContext = () -> realmName; QuarkusMock.installMockForType(realmContext, RealmContext.class); - metaStoreManager = managerFactory.getOrCreateMetaStoreManager(realmContext); + metaStoreManager = metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext); userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext); polarisContext = new PolarisCallContext( realmContext, - managerFactory.getOrCreateSessionSupplier(realmContext).get(), + metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, Clock.systemDefaultZone()); @@ -360,9 +355,10 @@ public abstract class IcebergCatalogTest extends CatalogTests<IcebergCatalog> { .asCatalog())); RealmEntityManagerFactory realmEntityManagerFactory = - new RealmEntityManagerFactory(createMockMetaStoreManagerFactory()); + new RealmEntityManagerFactory(metaStoreManagerFactory); this.fileIOFactory = - new DefaultFileIOFactory(realmEntityManagerFactory, managerFactory, configurationStore); + new DefaultFileIOFactory( + realmEntityManagerFactory, metaStoreManagerFactory, configurationStore); StsClient stsClient = Mockito.mock(StsClient.class); when(stsClient.assumeRole(isA(AssumeRoleRequest.class))) @@ -450,42 +446,6 @@ public abstract class IcebergCatalogTest extends CatalogTests<IcebergCatalog> { return true; } - private MetaStoreManagerFactory createMockMetaStoreManagerFactory() { - return new MetaStoreManagerFactory() { - @Override - public PolarisMetaStoreManager getOrCreateMetaStoreManager(RealmContext realmContext) { - return metaStoreManager; - } - - @Override - public Supplier<TransactionalPersistence> getOrCreateSessionSupplier( - RealmContext realmContext) { - return () -> ((TransactionalPersistence) polarisContext.getMetaStore()); - } - - @Override - public StorageCredentialCache getOrCreateStorageCredentialCache(RealmContext realmContext) { - return new StorageCredentialCache(realmContext, configurationStore); - } - - @Override - public InMemoryEntityCache getOrCreateEntityCache(RealmContext realmContext) { - return new InMemoryEntityCache(realmContext, configurationStore, metaStoreManager); - } - - @Override - public Map<String, PrincipalSecretsResult> bootstrapRealms( - Iterable<String> realms, RootCredentialsSet rootCredentialsSet) { - throw new NotImplementedException("Bootstrapping realms is not supported"); - } - - @Override - public Map<String, BaseResult> purgeRealms(Iterable<String> realms) { - throw new NotImplementedException("Purging realms is not supported"); - } - }; - } - @Test public void testEmptyNamespace() { IcebergCatalog catalog = catalog(); @@ -1030,8 +990,8 @@ public abstract class IcebergCatalogTest extends CatalogTests<IcebergCatalog> { FileIOFactory fileIOFactory = spy( new DefaultFileIOFactory( - new RealmEntityManagerFactory(createMockMetaStoreManagerFactory()), - managerFactory, + new RealmEntityManagerFactory(metaStoreManagerFactory), + metaStoreManagerFactory, configurationStore)); IcebergCatalog catalog = new IcebergCatalog( @@ -1922,7 +1882,6 @@ public abstract class IcebergCatalogTest extends CatalogTests<IcebergCatalog> { .containsEntry(StorageAccessProperty.AWS_KEY_ID, TEST_ACCESS_KEY) .containsEntry(StorageAccessProperty.AWS_SECRET_KEY, SECRET_ACCESS_KEY) .containsEntry(StorageAccessProperty.AWS_TOKEN, SESSION_TOKEN); - MetaStoreManagerFactory metaStoreManagerFactory = createMockMetaStoreManagerFactory(); FileIO fileIO = new TaskFileIOSupplier( new DefaultFileIOFactory( @@ -2071,8 +2030,8 @@ public abstract class IcebergCatalogTest extends CatalogTests<IcebergCatalog> { MeasuredFileIOFactory measured = new MeasuredFileIOFactory( - new RealmEntityManagerFactory(createMockMetaStoreManagerFactory()), - managerFactory, + new RealmEntityManagerFactory(metaStoreManagerFactory), + metaStoreManagerFactory, configurationStore); IcebergCatalog catalog = new IcebergCatalog( @@ -2144,8 +2103,7 @@ public abstract class IcebergCatalogTest extends CatalogTests<IcebergCatalog> { }); TableCleanupTaskHandler handler = - new TableCleanupTaskHandler( - Mockito.mock(), createMockMetaStoreManagerFactory(), taskFileIOSupplier); + new TableCleanupTaskHandler(Mockito.mock(), metaStoreManagerFactory, taskFileIOSupplier); handler.handleTask(taskEntity, polarisContext); Assertions.assertThat(measured.getNumDeletedFiles()).as("A table was deleted").isGreaterThan(0); } diff --git a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogViewTest.java b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogViewTest.java index 6ea276cc0..b1c2d5aef 100644 --- a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogViewTest.java +++ b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogViewTest.java @@ -127,7 +127,7 @@ public class IcebergCatalogViewTest extends ViewCatalogTests<IcebergCatalog> { CatalogProperties.VIEW_OVERRIDE_PREFIX + "key3", "catalog-override-key3", CatalogProperties.VIEW_OVERRIDE_PREFIX + "key4", "catalog-override-key4"); - @Inject MetaStoreManagerFactory managerFactory; + @Inject MetaStoreManagerFactory metaStoreManagerFactory; @Inject UserSecretsManagerFactory userSecretsManagerFactory; @Inject PolarisConfigurationStore configurationStore; @Inject PolarisDiagnostics diagServices; @@ -166,12 +166,12 @@ public class IcebergCatalogViewTest extends ViewCatalogTests<IcebergCatalog> { RealmContext realmContext = () -> realmName; QuarkusMock.installMockForType(realmContext, RealmContext.class); - metaStoreManager = managerFactory.getOrCreateMetaStoreManager(realmContext); + metaStoreManager = metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext); userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext); polarisContext = new PolarisCallContext( realmContext, - managerFactory.getOrCreateSessionSupplier(realmContext).get(), + metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, Clock.systemDefaultZone()); @@ -236,7 +236,9 @@ public class IcebergCatalogViewTest extends ViewCatalogTests<IcebergCatalog> { polarisContext, entityManager, securityContext, CATALOG_NAME); FileIOFactory fileIOFactory = new DefaultFileIOFactory( - new RealmEntityManagerFactory(managerFactory), managerFactory, configurationStore); + new RealmEntityManagerFactory(metaStoreManagerFactory), + metaStoreManagerFactory, + configurationStore); testPolarisEventListener = (TestPolarisEventListener) polarisEventListener; this.catalog = diff --git a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolarisGenericTableCatalogTest.java b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolarisGenericTableCatalogTest.java index c9196f175..6fcd4f478 100644 --- a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolarisGenericTableCatalogTest.java +++ b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolarisGenericTableCatalogTest.java @@ -35,8 +35,6 @@ import java.time.Clock; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.function.Supplier; -import org.apache.commons.lang3.NotImplementedException; import org.apache.iceberg.CatalogProperties; import org.apache.iceberg.Schema; import org.apache.iceberg.catalog.Namespace; @@ -61,11 +59,7 @@ import org.apache.polaris.core.entity.table.GenericTableEntity; import org.apache.polaris.core.persistence.MetaStoreManagerFactory; import org.apache.polaris.core.persistence.PolarisEntityManager; import org.apache.polaris.core.persistence.PolarisMetaStoreManager; -import org.apache.polaris.core.persistence.bootstrap.RootCredentialsSet; import org.apache.polaris.core.persistence.cache.InMemoryEntityCache; -import org.apache.polaris.core.persistence.dao.entity.BaseResult; -import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult; -import org.apache.polaris.core.persistence.transactional.TransactionalPersistence; import org.apache.polaris.core.secrets.UserSecretsManager; import org.apache.polaris.core.secrets.UserSecretsManagerFactory; import org.apache.polaris.core.storage.PolarisStorageIntegration; @@ -123,7 +117,7 @@ public class PolarisGenericTableCatalogTest { public static final String SECRET_ACCESS_KEY = "secret_access_key"; public static final String SESSION_TOKEN = "session_token"; - @Inject MetaStoreManagerFactory managerFactory; + @Inject MetaStoreManagerFactory metaStoreManagerFactory; @Inject UserSecretsManagerFactory userSecretsManagerFactory; @Inject PolarisConfigurationStore configurationStore; @Inject PolarisStorageIntegrationProvider storageIntegrationProvider; @@ -165,12 +159,12 @@ public class PolarisGenericTableCatalogTest { testInfo.getTestMethod().map(Method::getName).orElse("test"), System.nanoTime()); RealmContext realmContext = () -> realmName; QuarkusMock.installMockForType(realmContext, RealmContext.class); - metaStoreManager = managerFactory.getOrCreateMetaStoreManager(realmContext); + metaStoreManager = metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext); userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext); polarisContext = new PolarisCallContext( realmContext, - managerFactory.getOrCreateSessionSupplier(realmContext).get(), + metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, Clock.systemDefaultZone()); @@ -243,9 +237,10 @@ public class PolarisGenericTableCatalogTest { polarisContext, entityManager, securityContext, CATALOG_NAME); TaskExecutor taskExecutor = Mockito.mock(); RealmEntityManagerFactory realmEntityManagerFactory = - new RealmEntityManagerFactory(createMockMetaStoreManagerFactory()); + new RealmEntityManagerFactory(metaStoreManagerFactory); this.fileIOFactory = - new DefaultFileIOFactory(realmEntityManagerFactory, managerFactory, configurationStore); + new DefaultFileIOFactory( + realmEntityManagerFactory, metaStoreManagerFactory, configurationStore); StsClient stsClient = Mockito.mock(StsClient.class); when(stsClient.assumeRole(isA(AssumeRoleRequest.class))) @@ -288,42 +283,6 @@ public class PolarisGenericTableCatalogTest { metaStoreManager.purge(polarisContext); } - private MetaStoreManagerFactory createMockMetaStoreManagerFactory() { - return new MetaStoreManagerFactory() { - @Override - public PolarisMetaStoreManager getOrCreateMetaStoreManager(RealmContext realmContext) { - return metaStoreManager; - } - - @Override - public Supplier<TransactionalPersistence> getOrCreateSessionSupplier( - RealmContext realmContext) { - return () -> ((TransactionalPersistence) polarisContext.getMetaStore()); - } - - @Override - public StorageCredentialCache getOrCreateStorageCredentialCache(RealmContext realmContext) { - return new StorageCredentialCache(realmContext, configurationStore); - } - - @Override - public InMemoryEntityCache getOrCreateEntityCache(RealmContext realmContext) { - return new InMemoryEntityCache(realmContext, configurationStore, metaStoreManager); - } - - @Override - public Map<String, PrincipalSecretsResult> bootstrapRealms( - Iterable<String> realms, RootCredentialsSet rootCredentialsSet) { - throw new NotImplementedException("Bootstrapping realms is not supported"); - } - - @Override - public Map<String, BaseResult> purgeRealms(Iterable<String> realms) { - throw new NotImplementedException("Purging realms is not supported"); - } - }; - } - @Test public void testCreateGenericTableDoesNotThrow() { Namespace namespace = Namespace.of("ns"); diff --git a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolicyCatalogTest.java b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolicyCatalogTest.java index c0d4b8b46..5b75dff83 100644 --- a/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolicyCatalogTest.java +++ b/runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolicyCatalogTest.java @@ -42,8 +42,6 @@ import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.function.Supplier; -import org.apache.commons.lang3.NotImplementedException; import org.apache.iceberg.CatalogProperties; import org.apache.iceberg.Schema; import org.apache.iceberg.catalog.Namespace; @@ -70,11 +68,7 @@ import org.apache.polaris.core.persistence.MetaStoreManagerFactory; import org.apache.polaris.core.persistence.PolarisEntityManager; import org.apache.polaris.core.persistence.PolarisMetaStoreManager; import org.apache.polaris.core.persistence.PolicyMappingAlreadyExistsException; -import org.apache.polaris.core.persistence.bootstrap.RootCredentialsSet; import org.apache.polaris.core.persistence.cache.InMemoryEntityCache; -import org.apache.polaris.core.persistence.dao.entity.BaseResult; -import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult; -import org.apache.polaris.core.persistence.transactional.TransactionalPersistence; import org.apache.polaris.core.policy.PredefinedPolicyTypes; import org.apache.polaris.core.policy.exceptions.NoSuchPolicyException; import org.apache.polaris.core.policy.exceptions.PolicyInUseException; @@ -153,7 +147,7 @@ public class PolicyCatalogTest { new PolicyAttachmentTarget( PolicyAttachmentTarget.TypeEnum.TABLE_LIKE, List.of(TABLE.toString().split("\\."))); - @Inject MetaStoreManagerFactory managerFactory; + @Inject MetaStoreManagerFactory metaStoreManagerFactory; @Inject UserSecretsManagerFactory userSecretsManagerFactory; @Inject PolarisConfigurationStore configurationStore; @Inject PolarisStorageIntegrationProvider storageIntegrationProvider; @@ -191,12 +185,12 @@ public class PolicyCatalogTest { testInfo.getTestMethod().map(Method::getName).orElse("test"), System.nanoTime()); RealmContext realmContext = () -> realmName; QuarkusMock.installMockForType(realmContext, RealmContext.class); - metaStoreManager = managerFactory.getOrCreateMetaStoreManager(realmContext); + metaStoreManager = metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext); userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext); polarisContext = new PolarisCallContext( realmContext, - managerFactory.getOrCreateSessionSupplier(realmContext).get(), + metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, Clock.systemDefaultZone()); @@ -269,9 +263,10 @@ public class PolicyCatalogTest { callContext, entityManager, securityContext, CATALOG_NAME); TaskExecutor taskExecutor = Mockito.mock(); RealmEntityManagerFactory realmEntityManagerFactory = - new RealmEntityManagerFactory(createMockMetaStoreManagerFactory()); + new RealmEntityManagerFactory(metaStoreManagerFactory); this.fileIOFactory = - new DefaultFileIOFactory(realmEntityManagerFactory, managerFactory, configurationStore); + new DefaultFileIOFactory( + realmEntityManagerFactory, metaStoreManagerFactory, configurationStore); StsClient stsClient = Mockito.mock(StsClient.class); when(stsClient.assumeRole(isA(AssumeRoleRequest.class))) @@ -312,42 +307,6 @@ public class PolicyCatalogTest { metaStoreManager.purge(polarisContext); } - private MetaStoreManagerFactory createMockMetaStoreManagerFactory() { - return new MetaStoreManagerFactory() { - @Override - public PolarisMetaStoreManager getOrCreateMetaStoreManager(RealmContext realmContext) { - return metaStoreManager; - } - - @Override - public Supplier<TransactionalPersistence> getOrCreateSessionSupplier( - RealmContext realmContext) { - return () -> ((TransactionalPersistence) polarisContext.getMetaStore()); - } - - @Override - public StorageCredentialCache getOrCreateStorageCredentialCache(RealmContext realmContext) { - return new StorageCredentialCache(realmContext, configurationStore); - } - - @Override - public InMemoryEntityCache getOrCreateEntityCache(RealmContext realmContext) { - return new InMemoryEntityCache(realmContext, configurationStore, metaStoreManager); - } - - @Override - public Map<String, PrincipalSecretsResult> bootstrapRealms( - Iterable<String> realms, RootCredentialsSet rootCredentialsSet) { - throw new NotImplementedException("Bootstrapping realms is not supported"); - } - - @Override - public Map<String, BaseResult> purgeRealms(Iterable<String> realms) { - throw new NotImplementedException("Purging realms is not supported"); - } - }; - } - @Test public void testCreatePolicyDoesNotThrow() { icebergCatalog.createNamespace(NS);