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 <[email protected]>
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);