Skip to content

Commit 19f44d8

Browse files
authored
Remove duplicate MetaStoreManagerFactory mocks (#2023)
also rename the field for clarity and consistency
1 parent 33d9940 commit 19f44d8

File tree

4 files changed

+29
-151
lines changed

4 files changed

+29
-151
lines changed

runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogTest.java

Lines changed: 11 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,8 @@
5252
import java.util.Set;
5353
import java.util.UUID;
5454
import java.util.function.Function;
55-
import java.util.function.Supplier;
5655
import java.util.stream.Collectors;
5756
import java.util.stream.Stream;
58-
import org.apache.commons.lang3.NotImplementedException;
5957
import org.apache.iceberg.BaseTable;
6058
import org.apache.iceberg.CatalogProperties;
6159
import org.apache.iceberg.ContentFile;
@@ -114,13 +112,10 @@
114112
import org.apache.polaris.core.persistence.PolarisEntityManager;
115113
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
116114
import org.apache.polaris.core.persistence.PolarisResolvedPathWrapper;
117-
import org.apache.polaris.core.persistence.bootstrap.RootCredentialsSet;
118115
import org.apache.polaris.core.persistence.cache.InMemoryEntityCache;
119116
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
120117
import org.apache.polaris.core.persistence.dao.entity.EntityResult;
121-
import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult;
122118
import org.apache.polaris.core.persistence.pagination.PageToken;
123-
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
124119
import org.apache.polaris.core.secrets.UserSecretsManager;
125120
import org.apache.polaris.core.secrets.UserSecretsManagerFactory;
126121
import org.apache.polaris.core.storage.PolarisStorageActions;
@@ -239,7 +234,7 @@ public Map<String, String> getConfigOverrides() {
239234
CatalogProperties.TABLE_OVERRIDE_PREFIX + "override-key4",
240235
"catalog-override-key4");
241236

242-
@Inject MetaStoreManagerFactory managerFactory;
237+
@Inject MetaStoreManagerFactory metaStoreManagerFactory;
243238
@Inject PolarisConfigurationStore configurationStore;
244239
@Inject PolarisStorageIntegrationProvider storageIntegrationProvider;
245240
@Inject UserSecretsManagerFactory userSecretsManagerFactory;
@@ -284,12 +279,12 @@ public void before(TestInfo testInfo) {
284279
testInfo.getTestMethod().map(Method::getName).orElse("test"), System.nanoTime());
285280
RealmContext realmContext = () -> realmName;
286281
QuarkusMock.installMockForType(realmContext, RealmContext.class);
287-
metaStoreManager = managerFactory.getOrCreateMetaStoreManager(realmContext);
282+
metaStoreManager = metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
288283
userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext);
289284
polarisContext =
290285
new PolarisCallContext(
291286
realmContext,
292-
managerFactory.getOrCreateSessionSupplier(realmContext).get(),
287+
metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(),
293288
diagServices,
294289
configurationStore,
295290
Clock.systemDefaultZone());
@@ -360,9 +355,10 @@ public void before(TestInfo testInfo) {
360355
.asCatalog()));
361356

362357
RealmEntityManagerFactory realmEntityManagerFactory =
363-
new RealmEntityManagerFactory(createMockMetaStoreManagerFactory());
358+
new RealmEntityManagerFactory(metaStoreManagerFactory);
364359
this.fileIOFactory =
365-
new DefaultFileIOFactory(realmEntityManagerFactory, managerFactory, configurationStore);
360+
new DefaultFileIOFactory(
361+
realmEntityManagerFactory, metaStoreManagerFactory, configurationStore);
366362

367363
StsClient stsClient = Mockito.mock(StsClient.class);
368364
when(stsClient.assumeRole(isA(AssumeRoleRequest.class)))
@@ -450,42 +446,6 @@ protected boolean supportsNotifications() {
450446
return true;
451447
}
452448

453-
private MetaStoreManagerFactory createMockMetaStoreManagerFactory() {
454-
return new MetaStoreManagerFactory() {
455-
@Override
456-
public PolarisMetaStoreManager getOrCreateMetaStoreManager(RealmContext realmContext) {
457-
return metaStoreManager;
458-
}
459-
460-
@Override
461-
public Supplier<TransactionalPersistence> getOrCreateSessionSupplier(
462-
RealmContext realmContext) {
463-
return () -> ((TransactionalPersistence) polarisContext.getMetaStore());
464-
}
465-
466-
@Override
467-
public StorageCredentialCache getOrCreateStorageCredentialCache(RealmContext realmContext) {
468-
return new StorageCredentialCache(realmContext, configurationStore);
469-
}
470-
471-
@Override
472-
public InMemoryEntityCache getOrCreateEntityCache(RealmContext realmContext) {
473-
return new InMemoryEntityCache(realmContext, configurationStore, metaStoreManager);
474-
}
475-
476-
@Override
477-
public Map<String, PrincipalSecretsResult> bootstrapRealms(
478-
Iterable<String> realms, RootCredentialsSet rootCredentialsSet) {
479-
throw new NotImplementedException("Bootstrapping realms is not supported");
480-
}
481-
482-
@Override
483-
public Map<String, BaseResult> purgeRealms(Iterable<String> realms) {
484-
throw new NotImplementedException("Purging realms is not supported");
485-
}
486-
};
487-
}
488-
489449
@Test
490450
public void testEmptyNamespace() {
491451
IcebergCatalog catalog = catalog();
@@ -1030,8 +990,8 @@ public void testValidateNotificationFailToCreateFileIO() {
1030990
FileIOFactory fileIOFactory =
1031991
spy(
1032992
new DefaultFileIOFactory(
1033-
new RealmEntityManagerFactory(createMockMetaStoreManagerFactory()),
1034-
managerFactory,
993+
new RealmEntityManagerFactory(metaStoreManagerFactory),
994+
metaStoreManagerFactory,
1035995
configurationStore));
1036996
IcebergCatalog catalog =
1037997
new IcebergCatalog(
@@ -1922,7 +1882,6 @@ public void testDropTableWithPurge() {
19221882
.containsEntry(StorageAccessProperty.AWS_KEY_ID, TEST_ACCESS_KEY)
19231883
.containsEntry(StorageAccessProperty.AWS_SECRET_KEY, SECRET_ACCESS_KEY)
19241884
.containsEntry(StorageAccessProperty.AWS_TOKEN, SESSION_TOKEN);
1925-
MetaStoreManagerFactory metaStoreManagerFactory = createMockMetaStoreManagerFactory();
19261885
FileIO fileIO =
19271886
new TaskFileIOSupplier(
19281887
new DefaultFileIOFactory(
@@ -2071,8 +2030,8 @@ public void testFileIOWrapper() {
20712030

20722031
MeasuredFileIOFactory measured =
20732032
new MeasuredFileIOFactory(
2074-
new RealmEntityManagerFactory(createMockMetaStoreManagerFactory()),
2075-
managerFactory,
2033+
new RealmEntityManagerFactory(metaStoreManagerFactory),
2034+
metaStoreManagerFactory,
20762035
configurationStore);
20772036
IcebergCatalog catalog =
20782037
new IcebergCatalog(
@@ -2144,8 +2103,7 @@ public FileIO loadFileIO(
21442103
});
21452104

21462105
TableCleanupTaskHandler handler =
2147-
new TableCleanupTaskHandler(
2148-
Mockito.mock(), createMockMetaStoreManagerFactory(), taskFileIOSupplier);
2106+
new TableCleanupTaskHandler(Mockito.mock(), metaStoreManagerFactory, taskFileIOSupplier);
21492107
handler.handleTask(taskEntity, polarisContext);
21502108
Assertions.assertThat(measured.getNumDeletedFiles()).as("A table was deleted").isGreaterThan(0);
21512109
}

runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogViewTest.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public Map<String, String> getConfigOverrides() {
127127
CatalogProperties.VIEW_OVERRIDE_PREFIX + "key3", "catalog-override-key3",
128128
CatalogProperties.VIEW_OVERRIDE_PREFIX + "key4", "catalog-override-key4");
129129

130-
@Inject MetaStoreManagerFactory managerFactory;
130+
@Inject MetaStoreManagerFactory metaStoreManagerFactory;
131131
@Inject UserSecretsManagerFactory userSecretsManagerFactory;
132132
@Inject PolarisConfigurationStore configurationStore;
133133
@Inject PolarisDiagnostics diagServices;
@@ -166,12 +166,12 @@ public void before(TestInfo testInfo) {
166166
RealmContext realmContext = () -> realmName;
167167
QuarkusMock.installMockForType(realmContext, RealmContext.class);
168168

169-
metaStoreManager = managerFactory.getOrCreateMetaStoreManager(realmContext);
169+
metaStoreManager = metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
170170
userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext);
171171
polarisContext =
172172
new PolarisCallContext(
173173
realmContext,
174-
managerFactory.getOrCreateSessionSupplier(realmContext).get(),
174+
metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(),
175175
diagServices,
176176
configurationStore,
177177
Clock.systemDefaultZone());
@@ -236,7 +236,9 @@ public void before(TestInfo testInfo) {
236236
polarisContext, entityManager, securityContext, CATALOG_NAME);
237237
FileIOFactory fileIOFactory =
238238
new DefaultFileIOFactory(
239-
new RealmEntityManagerFactory(managerFactory), managerFactory, configurationStore);
239+
new RealmEntityManagerFactory(metaStoreManagerFactory),
240+
metaStoreManagerFactory,
241+
configurationStore);
240242

241243
testPolarisEventListener = (TestPolarisEventListener) polarisEventListener;
242244
this.catalog =

runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolarisGenericTableCatalogTest.java

Lines changed: 6 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@
3535
import java.util.List;
3636
import java.util.Map;
3737
import java.util.Set;
38-
import java.util.function.Supplier;
39-
import org.apache.commons.lang3.NotImplementedException;
4038
import org.apache.iceberg.CatalogProperties;
4139
import org.apache.iceberg.Schema;
4240
import org.apache.iceberg.catalog.Namespace;
@@ -61,11 +59,7 @@
6159
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
6260
import org.apache.polaris.core.persistence.PolarisEntityManager;
6361
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
64-
import org.apache.polaris.core.persistence.bootstrap.RootCredentialsSet;
6562
import org.apache.polaris.core.persistence.cache.InMemoryEntityCache;
66-
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
67-
import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult;
68-
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
6963
import org.apache.polaris.core.secrets.UserSecretsManager;
7064
import org.apache.polaris.core.secrets.UserSecretsManagerFactory;
7165
import org.apache.polaris.core.storage.PolarisStorageIntegration;
@@ -123,7 +117,7 @@ public Map<String, String> getConfigOverrides() {
123117
public static final String SECRET_ACCESS_KEY = "secret_access_key";
124118
public static final String SESSION_TOKEN = "session_token";
125119

126-
@Inject MetaStoreManagerFactory managerFactory;
120+
@Inject MetaStoreManagerFactory metaStoreManagerFactory;
127121
@Inject UserSecretsManagerFactory userSecretsManagerFactory;
128122
@Inject PolarisConfigurationStore configurationStore;
129123
@Inject PolarisStorageIntegrationProvider storageIntegrationProvider;
@@ -165,12 +159,12 @@ public void before(TestInfo testInfo) {
165159
testInfo.getTestMethod().map(Method::getName).orElse("test"), System.nanoTime());
166160
RealmContext realmContext = () -> realmName;
167161
QuarkusMock.installMockForType(realmContext, RealmContext.class);
168-
metaStoreManager = managerFactory.getOrCreateMetaStoreManager(realmContext);
162+
metaStoreManager = metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
169163
userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext);
170164
polarisContext =
171165
new PolarisCallContext(
172166
realmContext,
173-
managerFactory.getOrCreateSessionSupplier(realmContext).get(),
167+
metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(),
174168
diagServices,
175169
configurationStore,
176170
Clock.systemDefaultZone());
@@ -243,9 +237,10 @@ public void before(TestInfo testInfo) {
243237
polarisContext, entityManager, securityContext, CATALOG_NAME);
244238
TaskExecutor taskExecutor = Mockito.mock();
245239
RealmEntityManagerFactory realmEntityManagerFactory =
246-
new RealmEntityManagerFactory(createMockMetaStoreManagerFactory());
240+
new RealmEntityManagerFactory(metaStoreManagerFactory);
247241
this.fileIOFactory =
248-
new DefaultFileIOFactory(realmEntityManagerFactory, managerFactory, configurationStore);
242+
new DefaultFileIOFactory(
243+
realmEntityManagerFactory, metaStoreManagerFactory, configurationStore);
249244

250245
StsClient stsClient = Mockito.mock(StsClient.class);
251246
when(stsClient.assumeRole(isA(AssumeRoleRequest.class)))
@@ -288,42 +283,6 @@ public void after() throws IOException {
288283
metaStoreManager.purge(polarisContext);
289284
}
290285

291-
private MetaStoreManagerFactory createMockMetaStoreManagerFactory() {
292-
return new MetaStoreManagerFactory() {
293-
@Override
294-
public PolarisMetaStoreManager getOrCreateMetaStoreManager(RealmContext realmContext) {
295-
return metaStoreManager;
296-
}
297-
298-
@Override
299-
public Supplier<TransactionalPersistence> getOrCreateSessionSupplier(
300-
RealmContext realmContext) {
301-
return () -> ((TransactionalPersistence) polarisContext.getMetaStore());
302-
}
303-
304-
@Override
305-
public StorageCredentialCache getOrCreateStorageCredentialCache(RealmContext realmContext) {
306-
return new StorageCredentialCache(realmContext, configurationStore);
307-
}
308-
309-
@Override
310-
public InMemoryEntityCache getOrCreateEntityCache(RealmContext realmContext) {
311-
return new InMemoryEntityCache(realmContext, configurationStore, metaStoreManager);
312-
}
313-
314-
@Override
315-
public Map<String, PrincipalSecretsResult> bootstrapRealms(
316-
Iterable<String> realms, RootCredentialsSet rootCredentialsSet) {
317-
throw new NotImplementedException("Bootstrapping realms is not supported");
318-
}
319-
320-
@Override
321-
public Map<String, BaseResult> purgeRealms(Iterable<String> realms) {
322-
throw new NotImplementedException("Purging realms is not supported");
323-
}
324-
};
325-
}
326-
327286
@Test
328287
public void testCreateGenericTableDoesNotThrow() {
329288
Namespace namespace = Namespace.of("ns");

runtime/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolicyCatalogTest.java

Lines changed: 6 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@
4242
import java.util.List;
4343
import java.util.Map;
4444
import java.util.Set;
45-
import java.util.function.Supplier;
46-
import org.apache.commons.lang3.NotImplementedException;
4745
import org.apache.iceberg.CatalogProperties;
4846
import org.apache.iceberg.Schema;
4947
import org.apache.iceberg.catalog.Namespace;
@@ -70,11 +68,7 @@
7068
import org.apache.polaris.core.persistence.PolarisEntityManager;
7169
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
7270
import org.apache.polaris.core.persistence.PolicyMappingAlreadyExistsException;
73-
import org.apache.polaris.core.persistence.bootstrap.RootCredentialsSet;
7471
import org.apache.polaris.core.persistence.cache.InMemoryEntityCache;
75-
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
76-
import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult;
77-
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
7872
import org.apache.polaris.core.policy.PredefinedPolicyTypes;
7973
import org.apache.polaris.core.policy.exceptions.NoSuchPolicyException;
8074
import org.apache.polaris.core.policy.exceptions.PolicyInUseException;
@@ -153,7 +147,7 @@ public Map<String, String> getConfigOverrides() {
153147
new PolicyAttachmentTarget(
154148
PolicyAttachmentTarget.TypeEnum.TABLE_LIKE, List.of(TABLE.toString().split("\\.")));
155149

156-
@Inject MetaStoreManagerFactory managerFactory;
150+
@Inject MetaStoreManagerFactory metaStoreManagerFactory;
157151
@Inject UserSecretsManagerFactory userSecretsManagerFactory;
158152
@Inject PolarisConfigurationStore configurationStore;
159153
@Inject PolarisStorageIntegrationProvider storageIntegrationProvider;
@@ -191,12 +185,12 @@ public void before(TestInfo testInfo) {
191185
testInfo.getTestMethod().map(Method::getName).orElse("test"), System.nanoTime());
192186
RealmContext realmContext = () -> realmName;
193187
QuarkusMock.installMockForType(realmContext, RealmContext.class);
194-
metaStoreManager = managerFactory.getOrCreateMetaStoreManager(realmContext);
188+
metaStoreManager = metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
195189
userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext);
196190
polarisContext =
197191
new PolarisCallContext(
198192
realmContext,
199-
managerFactory.getOrCreateSessionSupplier(realmContext).get(),
193+
metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(),
200194
diagServices,
201195
configurationStore,
202196
Clock.systemDefaultZone());
@@ -269,9 +263,10 @@ public void before(TestInfo testInfo) {
269263
callContext, entityManager, securityContext, CATALOG_NAME);
270264
TaskExecutor taskExecutor = Mockito.mock();
271265
RealmEntityManagerFactory realmEntityManagerFactory =
272-
new RealmEntityManagerFactory(createMockMetaStoreManagerFactory());
266+
new RealmEntityManagerFactory(metaStoreManagerFactory);
273267
this.fileIOFactory =
274-
new DefaultFileIOFactory(realmEntityManagerFactory, managerFactory, configurationStore);
268+
new DefaultFileIOFactory(
269+
realmEntityManagerFactory, metaStoreManagerFactory, configurationStore);
275270

276271
StsClient stsClient = Mockito.mock(StsClient.class);
277272
when(stsClient.assumeRole(isA(AssumeRoleRequest.class)))
@@ -312,42 +307,6 @@ public void after() throws IOException {
312307
metaStoreManager.purge(polarisContext);
313308
}
314309

315-
private MetaStoreManagerFactory createMockMetaStoreManagerFactory() {
316-
return new MetaStoreManagerFactory() {
317-
@Override
318-
public PolarisMetaStoreManager getOrCreateMetaStoreManager(RealmContext realmContext) {
319-
return metaStoreManager;
320-
}
321-
322-
@Override
323-
public Supplier<TransactionalPersistence> getOrCreateSessionSupplier(
324-
RealmContext realmContext) {
325-
return () -> ((TransactionalPersistence) polarisContext.getMetaStore());
326-
}
327-
328-
@Override
329-
public StorageCredentialCache getOrCreateStorageCredentialCache(RealmContext realmContext) {
330-
return new StorageCredentialCache(realmContext, configurationStore);
331-
}
332-
333-
@Override
334-
public InMemoryEntityCache getOrCreateEntityCache(RealmContext realmContext) {
335-
return new InMemoryEntityCache(realmContext, configurationStore, metaStoreManager);
336-
}
337-
338-
@Override
339-
public Map<String, PrincipalSecretsResult> bootstrapRealms(
340-
Iterable<String> realms, RootCredentialsSet rootCredentialsSet) {
341-
throw new NotImplementedException("Bootstrapping realms is not supported");
342-
}
343-
344-
@Override
345-
public Map<String, BaseResult> purgeRealms(Iterable<String> realms) {
346-
throw new NotImplementedException("Purging realms is not supported");
347-
}
348-
};
349-
}
350-
351310
@Test
352311
public void testCreatePolicyDoesNotThrow() {
353312
icebergCatalog.createNamespace(NS);

0 commit comments

Comments
 (0)