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 406fa0380 Use CDI for more test setups (#3040)
406fa0380 is described below
commit 406fa0380c54e1b358e49c36d5e9596b825e127c
Author: Christopher Lambert <[email protected]>
AuthorDate: Mon Nov 17 18:56:21 2025 +0100
Use CDI for more test setups (#3040)
this avoids a bunch of redundant manual setup.
the important parts are establishing a `RealmContext` by calling
`QuarkusMock.installMockForType` and then populating `polarisContext`
from the injected `CallContext`.
---
.../service/admin/PolarisAuthzTestBase.java | 28 ++++--------------
.../broker/JWTSymmetricKeyGeneratorTest.java | 2 +-
.../internal/broker/RSAKeyPairJWTBrokerTest.java | 8 +----
.../AbstractPolarisGenericTableCatalogTest.java | 30 +++++--------------
.../iceberg/AbstractIcebergCatalogTest.java | 34 +++++-----------------
.../iceberg/AbstractIcebergCatalogViewTest.java | 31 +++++---------------
.../catalog/policy/AbstractPolicyCatalogTest.java | 30 +++++--------------
.../service/task/TableCleanupTaskHandlerTest.java | 15 ++--------
8 files changed, 39 insertions(+), 139 deletions(-)
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/admin/PolarisAuthzTestBase.java
b/runtime/service/src/test/java/org/apache/polaris/service/admin/PolarisAuthzTestBase.java
index 0bb4856eb..e1007b412 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/admin/PolarisAuthzTestBase.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/admin/PolarisAuthzTestBase.java
@@ -59,7 +59,6 @@ import org.apache.polaris.core.admin.model.StorageConfigInfo;
import org.apache.polaris.core.auth.PolarisAuthorizer;
import org.apache.polaris.core.auth.PolarisAuthorizerImpl;
import org.apache.polaris.core.auth.PolarisPrincipal;
-import org.apache.polaris.core.config.PolarisConfigurationStore;
import org.apache.polaris.core.config.RealmConfig;
import org.apache.polaris.core.context.CallContext;
import org.apache.polaris.core.context.RealmContext;
@@ -71,7 +70,6 @@ import org.apache.polaris.core.entity.PolarisPrivilege;
import org.apache.polaris.core.entity.PrincipalEntity;
import org.apache.polaris.core.entity.PrincipalRoleEntity;
import org.apache.polaris.core.identity.provider.ServiceIdentityProvider;
-import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
import org.apache.polaris.core.persistence.dao.entity.PrivilegeResult;
@@ -80,7 +78,6 @@ import
org.apache.polaris.core.persistence.resolver.ResolutionManifestFactory;
import org.apache.polaris.core.persistence.resolver.ResolverFactory;
import org.apache.polaris.core.policy.PredefinedPolicyTypes;
import org.apache.polaris.core.secrets.UserSecretsManager;
-import org.apache.polaris.core.secrets.UserSecretsManagerFactory;
import org.apache.polaris.core.storage.cache.StorageCredentialCache;
import org.apache.polaris.service.catalog.PolarisPassthroughResolutionView;
import org.apache.polaris.service.catalog.Profiles;
@@ -91,7 +88,6 @@ import org.apache.polaris.service.catalog.io.FileIOFactory;
import org.apache.polaris.service.catalog.io.StorageAccessConfigProvider;
import org.apache.polaris.service.catalog.policy.PolicyCatalog;
import org.apache.polaris.service.config.ReservedProperties;
-import org.apache.polaris.service.context.catalog.CallContextCatalogFactory;
import
org.apache.polaris.service.context.catalog.PolarisCallContextCatalogFactory;
import org.apache.polaris.service.events.listeners.PolarisEventListener;
import
org.apache.polaris.service.storage.PolarisStorageIntegrationProviderImpl;
@@ -190,35 +186,30 @@ public abstract class PolarisAuthzTestBase {
required(4, "data", Types.StringType.get()));
protected final ReservedProperties reservedProperties =
ReservedProperties.NONE;
- @Inject protected MetaStoreManagerFactory managerFactory;
@Inject protected ResolutionManifestFactory resolutionManifestFactory;
- @Inject protected CallContextCatalogFactory callContextCatalogFactory;
- @Inject protected UserSecretsManagerFactory userSecretsManagerFactory;
@Inject protected ServiceIdentityProvider serviceIdentityProvider;
@Inject protected PolarisCredentialManager credentialManager;
@Inject protected PolarisDiagnostics diagServices;
@Inject protected FileIOFactory fileIOFactory;
@Inject protected PolarisEventListener polarisEventListener;
@Inject protected CatalogHandlerUtils catalogHandlerUtils;
- @Inject protected PolarisConfigurationStore configurationStore;
@Inject protected StorageCredentialCache storageCredentialCache;
@Inject protected ResolverFactory resolverFactory;
@Inject protected StorageAccessConfigProvider storageAccessConfigProvider;
+ @Inject protected PolarisMetaStoreManager metaStoreManager;
+ @Inject protected UserSecretsManager userSecretsManager;
+ @Inject protected CallContext callContext;
+ @Inject protected RealmConfig realmConfig;
protected IcebergCatalog baseCatalog;
protected PolarisGenericTableCatalog genericTableCatalog;
protected PolicyCatalog policyCatalog;
protected PolarisAdminService adminService;
- protected PolarisMetaStoreManager metaStoreManager;
- protected UserSecretsManager userSecretsManager;
protected PolarisBaseEntity catalogEntity;
protected PolarisBaseEntity federatedCatalogEntity;
protected PrincipalEntity principalEntity;
- protected CallContext callContext;
- protected RealmConfig realmConfig;
protected PolarisPrincipal authenticatedRoot;
protected PolarisAuthorizer polarisAuthorizer;
-
protected PolarisCallContext polarisContext;
@BeforeAll
@@ -238,19 +229,12 @@ public abstract class PolarisAuthzTestBase {
RealmContext realmContext = testInfo::getDisplayName;
QuarkusMock.installMockForType(realmContext, RealmContext.class);
+ polarisContext = callContext.getPolarisCallContext();
+
ContainerRequestContext containerRequestContext =
Mockito.mock(ContainerRequestContext.class);
Mockito.when(containerRequestContext.getProperty(Mockito.anyString()))
.thenReturn("request-id-1");
QuarkusMock.installMockForType(containerRequestContext,
ContainerRequestContext.class);
- metaStoreManager =
managerFactory.getOrCreateMetaStoreManager(realmContext);
- userSecretsManager =
userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext);
-
- polarisContext =
- new PolarisCallContext(
- realmContext, managerFactory.getOrCreateSession(realmContext),
configurationStore);
-
- callContext = polarisContext;
- realmConfig = polarisContext.getRealmConfig();
polarisAuthorizer = new PolarisAuthorizerImpl(realmConfig);
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/auth/internal/broker/JWTSymmetricKeyGeneratorTest.java
b/runtime/service/src/test/java/org/apache/polaris/service/auth/internal/broker/JWTSymmetricKeyGeneratorTest.java
index 058542d35..fc4c055af 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/auth/internal/broker/JWTSymmetricKeyGeneratorTest.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/auth/internal/broker/JWTSymmetricKeyGeneratorTest.java
@@ -39,7 +39,7 @@ public class JWTSymmetricKeyGeneratorTest {
/** Sanity test to verify that we can generate a token */
@Test
public void testJWTSymmetricKeyGenerator() {
- PolarisCallContext polarisCallContext = new PolarisCallContext(null, null,
null);
+ PolarisCallContext polarisCallContext =
Mockito.mock(PolarisCallContext.class);
PolarisMetaStoreManager metastoreManager =
Mockito.mock(PolarisMetaStoreManager.class);
long principalId = 123L;
String mainSecret = "test_secret";
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/auth/internal/broker/RSAKeyPairJWTBrokerTest.java
b/runtime/service/src/test/java/org/apache/polaris/service/auth/internal/broker/RSAKeyPairJWTBrokerTest.java
index 32d45c1ee..58e089793 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/auth/internal/broker/RSAKeyPairJWTBrokerTest.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/auth/internal/broker/RSAKeyPairJWTBrokerTest.java
@@ -24,13 +24,10 @@ import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.DecodedJWT;
-import io.quarkus.test.junit.QuarkusTest;
-import jakarta.inject.Inject;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.util.Optional;
import org.apache.polaris.core.PolarisCallContext;
-import org.apache.polaris.core.config.PolarisConfigurationStore;
import org.apache.polaris.core.entity.PolarisPrincipalSecrets;
import org.apache.polaris.core.entity.PrincipalEntity;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
@@ -39,11 +36,8 @@ import org.apache.polaris.service.types.TokenType;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
-@QuarkusTest
public class RSAKeyPairJWTBrokerTest {
- @Inject protected PolarisConfigurationStore configurationStore;
-
@Test
public void testSuccessfulTokenGeneration() throws Exception {
var keyPair = PemUtils.generateKeyPair();
@@ -52,7 +46,7 @@ public class RSAKeyPairJWTBrokerTest {
final String clientId = "test-client-id";
final String scope = "PRINCIPAL_ROLE:TEST";
- PolarisCallContext polarisCallContext = new PolarisCallContext(null, null,
configurationStore);
+ PolarisCallContext polarisCallContext =
Mockito.mock(PolarisCallContext.class);
PolarisMetaStoreManager metastoreManager =
Mockito.mock(PolarisMetaStoreManager.class);
String mainSecret = "client-secret";
PolarisPrincipalSecrets principalSecrets =
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/catalog/generic/AbstractPolarisGenericTableCatalogTest.java
b/runtime/service/src/test/java/org/apache/polaris/service/catalog/generic/AbstractPolarisGenericTableCatalogTest.java
index c2d0e997b..f6d33aa58 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/catalog/generic/AbstractPolarisGenericTableCatalogTest.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/catalog/generic/AbstractPolarisGenericTableCatalogTest.java
@@ -44,23 +44,20 @@ import org.apache.polaris.core.auth.PolarisAuthorizer;
import org.apache.polaris.core.auth.PolarisAuthorizerImpl;
import org.apache.polaris.core.auth.PolarisPrincipal;
import org.apache.polaris.core.config.FeatureConfiguration;
-import org.apache.polaris.core.config.PolarisConfigurationStore;
import org.apache.polaris.core.config.RealmConfig;
+import org.apache.polaris.core.context.CallContext;
import org.apache.polaris.core.context.RealmContext;
import org.apache.polaris.core.entity.CatalogEntity;
import org.apache.polaris.core.entity.PolarisEntity;
import org.apache.polaris.core.entity.PrincipalEntity;
import org.apache.polaris.core.entity.table.GenericTableEntity;
import org.apache.polaris.core.identity.provider.ServiceIdentityProvider;
-import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.resolver.ResolutionManifestFactory;
import org.apache.polaris.core.persistence.resolver.ResolverFactory;
import org.apache.polaris.core.secrets.UserSecretsManager;
-import org.apache.polaris.core.secrets.UserSecretsManagerFactory;
import org.apache.polaris.core.storage.PolarisStorageIntegration;
import org.apache.polaris.core.storage.PolarisStorageIntegrationProvider;
-import org.apache.polaris.core.storage.StorageCredentialsVendor;
import org.apache.polaris.core.storage.aws.AwsCredentialsStorageIntegration;
import org.apache.polaris.core.storage.aws.AwsStorageConfigurationInfo;
import org.apache.polaris.core.storage.cache.StorageCredentialCache;
@@ -98,29 +95,27 @@ public abstract class
AbstractPolarisGenericTableCatalogTest {
public static final String SECRET_ACCESS_KEY = "secret_access_key";
public static final String SESSION_TOKEN = "session_token";
- @Inject MetaStoreManagerFactory metaStoreManagerFactory;
- @Inject UserSecretsManagerFactory userSecretsManagerFactory;
@Inject ServiceIdentityProvider serviceIdentityProvider;
- @Inject PolarisConfigurationStore configurationStore;
@Inject StorageCredentialCache storageCredentialCache;
@Inject PolarisStorageIntegrationProvider storageIntegrationProvider;
@Inject PolarisDiagnostics diagServices;
@Inject ResolverFactory resolverFactory;
@Inject ResolutionManifestFactory resolutionManifestFactory;
+ @Inject PolarisMetaStoreManager metaStoreManager;
+ @Inject UserSecretsManager userSecretsManager;
+ @Inject CallContext callContext;
+ @Inject RealmConfig realmConfig;
+ @Inject StorageAccessConfigProvider storageAccessConfigProvider;
private PolarisGenericTableCatalog genericTableCatalog;
private IcebergCatalog icebergCatalog;
private AwsStorageConfigInfo storageConfigModel;
private String realmName;
- private PolarisMetaStoreManager metaStoreManager;
- private UserSecretsManager userSecretsManager;
private PolarisCallContext polarisContext;
- private RealmConfig realmConfig;
private PolarisAdminService adminService;
private FileIOFactory fileIOFactory;
private PolarisPrincipal authenticatedRoot;
private PolarisEntity catalogEntity;
- private StorageAccessConfigProvider storageAccessConfigProvider;
protected static final Schema SCHEMA =
new Schema(
@@ -149,18 +144,7 @@ public abstract class
AbstractPolarisGenericTableCatalogTest {
RealmContext realmContext = () -> realmName;
QuarkusMock.installMockForType(realmContext, RealmContext.class);
- metaStoreManager =
metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
- userSecretsManager =
userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext);
- polarisContext =
- new PolarisCallContext(
- realmContext,
- metaStoreManagerFactory.getOrCreateSession(realmContext),
- configurationStore);
- realmConfig = polarisContext.getRealmConfig();
- StorageCredentialsVendor storageCredentialsVendor =
- new StorageCredentialsVendor(metaStoreManager, polarisContext);
- storageAccessConfigProvider =
- new StorageAccessConfigProvider(storageCredentialCache,
storageCredentialsVendor);
+ polarisContext = callContext.getPolarisCallContext();
PrincipalEntity rootPrincipal =
metaStoreManager.findRootPrincipal(polarisContext).orElseThrow();
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/catalog/iceberg/AbstractIcebergCatalogTest.java
b/runtime/service/src/test/java/org/apache/polaris/service/catalog/iceberg/AbstractIcebergCatalogTest.java
index e9a0b2e77..dd7d7609f 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/catalog/iceberg/AbstractIcebergCatalogTest.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/catalog/iceberg/AbstractIcebergCatalogTest.java
@@ -99,8 +99,8 @@ import org.apache.polaris.core.auth.PolarisAuthorizer;
import org.apache.polaris.core.auth.PolarisAuthorizerImpl;
import org.apache.polaris.core.auth.PolarisPrincipal;
import org.apache.polaris.core.config.FeatureConfiguration;
-import org.apache.polaris.core.config.PolarisConfigurationStore;
import org.apache.polaris.core.config.RealmConfig;
+import org.apache.polaris.core.context.CallContext;
import org.apache.polaris.core.context.RealmContext;
import org.apache.polaris.core.entity.CatalogEntity;
import org.apache.polaris.core.entity.NamespaceEntity;
@@ -121,16 +121,13 @@ import
org.apache.polaris.core.persistence.dao.entity.EntityResult;
import org.apache.polaris.core.persistence.pagination.Page;
import org.apache.polaris.core.persistence.pagination.PageToken;
import org.apache.polaris.core.persistence.resolver.ResolutionManifestFactory;
-import
org.apache.polaris.core.persistence.resolver.ResolutionManifestFactoryImpl;
import org.apache.polaris.core.persistence.resolver.Resolver;
import org.apache.polaris.core.persistence.resolver.ResolverFactory;
import org.apache.polaris.core.secrets.UserSecretsManager;
-import org.apache.polaris.core.secrets.UserSecretsManagerFactory;
import org.apache.polaris.core.storage.PolarisStorageIntegration;
import org.apache.polaris.core.storage.PolarisStorageIntegrationProvider;
import org.apache.polaris.core.storage.StorageAccessConfig;
import org.apache.polaris.core.storage.StorageAccessProperty;
-import org.apache.polaris.core.storage.StorageCredentialsVendor;
import org.apache.polaris.core.storage.aws.AwsCredentialsStorageIntegration;
import org.apache.polaris.core.storage.aws.AwsStorageConfigurationInfo;
import org.apache.polaris.core.storage.cache.StorageCredentialCache;
@@ -230,30 +227,29 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
@Inject Clock clock;
@Inject MetaStoreManagerFactory metaStoreManagerFactory;
- @Inject PolarisConfigurationStore configurationStore;
@Inject StorageCredentialCache storageCredentialCache;
@Inject PolarisStorageIntegrationProvider storageIntegrationProvider;
- @Inject UserSecretsManagerFactory userSecretsManagerFactory;
@Inject ServiceIdentityProvider serviceIdentityProvider;
@Inject PolarisDiagnostics diagServices;
@Inject PolarisEventListener polarisEventListener;
+ @Inject PolarisMetaStoreManager metaStoreManager;
+ @Inject UserSecretsManager userSecretsManager;
+ @Inject CallContext callContext;
+ @Inject RealmConfig realmConfig;
+ @Inject ResolutionManifestFactory resolutionManifestFactory;
+ @Inject StorageAccessConfigProvider storageAccessConfigProvider;
private IcebergCatalog catalog;
private String realmName;
- private PolarisMetaStoreManager metaStoreManager;
- private UserSecretsManager userSecretsManager;
private PolarisCallContext polarisContext;
- private RealmConfig realmConfig;
private PolarisAdminService adminService;
private ResolverFactory resolverFactory;
- private ResolutionManifestFactory resolutionManifestFactory;
private FileIOFactory fileIOFactory;
private InMemoryFileIO fileIO;
private PolarisEntity catalogEntity;
private PolarisPrincipal authenticatedRoot;
private TestPolarisEventListener testPolarisEventListener;
private ReservedProperties reservedProperties;
- private StorageAccessConfigProvider storageAccessConfigProvider;
@BeforeAll
public static void setUpMocks() {
@@ -283,18 +279,7 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
RealmContext realmContext = () -> realmName;
QuarkusMock.installMockForType(realmContext, RealmContext.class);
- metaStoreManager =
metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
- userSecretsManager =
userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext);
- polarisContext =
- new PolarisCallContext(
- realmContext,
- metaStoreManagerFactory.getOrCreateSession(realmContext),
- configurationStore);
- realmConfig = polarisContext.getRealmConfig();
- StorageCredentialsVendor storageCredentialsVendor =
- new StorageCredentialsVendor(metaStoreManager, polarisContext);
- storageAccessConfigProvider =
- new StorageAccessConfigProvider(storageCredentialCache,
storageCredentialsVendor);
+ polarisContext = callContext.getPolarisCallContext();
EntityCache entityCache = createEntityCache(diagServices, realmConfig,
metaStoreManager);
resolverFactory =
@@ -308,9 +293,6 @@ public abstract class AbstractIcebergCatalogTest extends
CatalogTests<IcebergCat
referenceCatalogName);
QuarkusMock.installMockForType(resolverFactory, ResolverFactory.class);
- resolutionManifestFactory =
- new ResolutionManifestFactoryImpl(diagServices, realmContext,
resolverFactory);
-
PrincipalEntity rootPrincipal =
metaStoreManager.findRootPrincipal(polarisContext).orElseThrow();
authenticatedRoot = PolarisPrincipal.of(rootPrincipal, Set.of());
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/catalog/iceberg/AbstractIcebergCatalogViewTest.java
b/runtime/service/src/test/java/org/apache/polaris/service/catalog/iceberg/AbstractIcebergCatalogViewTest.java
index 7dd45d180..f97b3b729 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/catalog/iceberg/AbstractIcebergCatalogViewTest.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/catalog/iceberg/AbstractIcebergCatalogViewTest.java
@@ -41,19 +41,16 @@ import org.apache.polaris.core.auth.PolarisAuthorizer;
import org.apache.polaris.core.auth.PolarisAuthorizerImpl;
import org.apache.polaris.core.auth.PolarisPrincipal;
import org.apache.polaris.core.config.FeatureConfiguration;
-import org.apache.polaris.core.config.PolarisConfigurationStore;
import org.apache.polaris.core.config.RealmConfig;
+import org.apache.polaris.core.context.CallContext;
import org.apache.polaris.core.context.RealmContext;
import org.apache.polaris.core.entity.CatalogEntity;
import org.apache.polaris.core.entity.PrincipalEntity;
import org.apache.polaris.core.identity.provider.ServiceIdentityProvider;
-import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.resolver.ResolutionManifestFactory;
import org.apache.polaris.core.persistence.resolver.ResolverFactory;
import org.apache.polaris.core.secrets.UserSecretsManager;
-import org.apache.polaris.core.secrets.UserSecretsManagerFactory;
-import org.apache.polaris.core.storage.StorageCredentialsVendor;
import org.apache.polaris.core.storage.cache.StorageCredentialCache;
import org.apache.polaris.service.admin.PolarisAdminService;
import org.apache.polaris.service.catalog.PolarisPassthroughResolutionView;
@@ -105,24 +102,22 @@ public abstract class AbstractIcebergCatalogViewTest
extends ViewCatalogTests<Ic
CatalogProperties.VIEW_OVERRIDE_PREFIX + "key3",
"catalog-override-key3",
CatalogProperties.VIEW_OVERRIDE_PREFIX + "key4",
"catalog-override-key4");
- @Inject MetaStoreManagerFactory metaStoreManagerFactory;
- @Inject UserSecretsManagerFactory userSecretsManagerFactory;
@Inject ServiceIdentityProvider serviceIdentityProvider;
- @Inject PolarisConfigurationStore configurationStore;
@Inject StorageCredentialCache storageCredentialCache;
@Inject PolarisDiagnostics diagServices;
@Inject PolarisEventListener polarisEventListener;
@Inject ResolverFactory resolverFactory;
@Inject ResolutionManifestFactory resolutionManifestFactory;
+ @Inject PolarisMetaStoreManager metaStoreManager;
+ @Inject UserSecretsManager userSecretsManager;
+ @Inject CallContext callContext;
+ @Inject RealmConfig realmConfig;
+ @Inject StorageAccessConfigProvider storageAccessConfigProvider;
private IcebergCatalog catalog;
private String realmName;
- private PolarisMetaStoreManager metaStoreManager;
- private UserSecretsManager userSecretsManager;
private PolarisCallContext polarisContext;
- private RealmConfig realmConfig;
- private StorageAccessConfigProvider storageAccessConfigProvider;
private TestPolarisEventListener testPolarisEventListener;
@@ -154,19 +149,7 @@ public abstract class AbstractIcebergCatalogViewTest
extends ViewCatalogTests<Ic
bootstrapRealm(realmName);
RealmContext realmContext = () -> realmName;
QuarkusMock.installMockForType(realmContext, RealmContext.class);
-
- metaStoreManager =
metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
- userSecretsManager =
userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext);
- polarisContext =
- new PolarisCallContext(
- realmContext,
- metaStoreManagerFactory.getOrCreateSession(realmContext),
- configurationStore);
- realmConfig = polarisContext.getRealmConfig();
- StorageCredentialsVendor storageCredentialsVendor =
- new StorageCredentialsVendor(metaStoreManager, polarisContext);
- storageAccessConfigProvider =
- new StorageAccessConfigProvider(storageCredentialCache,
storageCredentialsVendor);
+ polarisContext = callContext.getPolarisCallContext();
PrincipalEntity rootPrincipal =
metaStoreManager.findRootPrincipal(polarisContext).orElseThrow();
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/catalog/policy/AbstractPolicyCatalogTest.java
b/runtime/service/src/test/java/org/apache/polaris/service/catalog/policy/AbstractPolicyCatalogTest.java
index eba010e11..4f83f3f3e 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/catalog/policy/AbstractPolicyCatalogTest.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/catalog/policy/AbstractPolicyCatalogTest.java
@@ -51,14 +51,13 @@ import org.apache.polaris.core.auth.PolarisAuthorizer;
import org.apache.polaris.core.auth.PolarisAuthorizerImpl;
import org.apache.polaris.core.auth.PolarisPrincipal;
import org.apache.polaris.core.config.FeatureConfiguration;
-import org.apache.polaris.core.config.PolarisConfigurationStore;
import org.apache.polaris.core.config.RealmConfig;
+import org.apache.polaris.core.context.CallContext;
import org.apache.polaris.core.context.RealmContext;
import org.apache.polaris.core.entity.CatalogEntity;
import org.apache.polaris.core.entity.PolarisEntity;
import org.apache.polaris.core.entity.PrincipalEntity;
import org.apache.polaris.core.identity.provider.ServiceIdentityProvider;
-import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.PolicyMappingAlreadyExistsException;
import org.apache.polaris.core.persistence.resolver.ResolutionManifestFactory;
@@ -69,10 +68,8 @@ import
org.apache.polaris.core.policy.exceptions.PolicyInUseException;
import
org.apache.polaris.core.policy.exceptions.PolicyVersionMismatchException;
import org.apache.polaris.core.policy.validator.InvalidPolicyException;
import org.apache.polaris.core.secrets.UserSecretsManager;
-import org.apache.polaris.core.secrets.UserSecretsManagerFactory;
import org.apache.polaris.core.storage.PolarisStorageIntegration;
import org.apache.polaris.core.storage.PolarisStorageIntegrationProvider;
-import org.apache.polaris.core.storage.StorageCredentialsVendor;
import org.apache.polaris.core.storage.aws.AwsCredentialsStorageIntegration;
import org.apache.polaris.core.storage.aws.AwsStorageConfigurationInfo;
import org.apache.polaris.core.storage.cache.StorageCredentialCache;
@@ -124,29 +121,27 @@ public abstract class AbstractPolicyCatalogTest {
new PolicyAttachmentTarget(
PolicyAttachmentTarget.TypeEnum.TABLE_LIKE,
List.of(TABLE.toString().split("\\.")));
- @Inject MetaStoreManagerFactory metaStoreManagerFactory;
- @Inject UserSecretsManagerFactory userSecretsManagerFactory;
@Inject ServiceIdentityProvider serviceIdentityProvider;
- @Inject PolarisConfigurationStore configurationStore;
@Inject StorageCredentialCache storageCredentialCache;
@Inject PolarisStorageIntegrationProvider storageIntegrationProvider;
@Inject PolarisDiagnostics diagServices;
@Inject ResolverFactory resolverFactory;
@Inject ResolutionManifestFactory resolutionManifestFactory;
+ @Inject PolarisMetaStoreManager metaStoreManager;
+ @Inject UserSecretsManager userSecretsManager;
+ @Inject CallContext callContext;
+ @Inject RealmConfig realmConfig;
+ @Inject StorageAccessConfigProvider storageAccessConfigProvider;
private PolicyCatalog policyCatalog;
private IcebergCatalog icebergCatalog;
private AwsStorageConfigInfo storageConfigModel;
private String realmName;
- private PolarisMetaStoreManager metaStoreManager;
- private UserSecretsManager userSecretsManager;
private PolarisCallContext polarisContext;
- private RealmConfig realmConfig;
private PolarisAdminService adminService;
private FileIOFactory fileIOFactory;
private PolarisPrincipal authenticatedRoot;
private PolarisEntity catalogEntity;
- private StorageAccessConfigProvider storageAccessConfigProvider;
@BeforeAll
public static void setUpMocks() {
@@ -170,18 +165,7 @@ public abstract class AbstractPolicyCatalogTest {
RealmContext realmContext = () -> realmName;
QuarkusMock.installMockForType(realmContext, RealmContext.class);
- metaStoreManager =
metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
- userSecretsManager =
userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext);
- polarisContext =
- new PolarisCallContext(
- realmContext,
- metaStoreManagerFactory.getOrCreateSession(realmContext),
- configurationStore);
- realmConfig = polarisContext.getRealmConfig();
- StorageCredentialsVendor storageCredentialsVendor =
- new StorageCredentialsVendor(metaStoreManager, polarisContext);
- storageAccessConfigProvider =
- new StorageAccessConfigProvider(storageCredentialCache,
storageCredentialsVendor);
+ polarisContext = callContext.getPolarisCallContext();
PrincipalEntity rootPrincipal =
metaStoreManager.findRootPrincipal(polarisContext).orElseThrow();
diff --git
a/runtime/service/src/test/java/org/apache/polaris/service/task/TableCleanupTaskHandlerTest.java
b/runtime/service/src/test/java/org/apache/polaris/service/task/TableCleanupTaskHandlerTest.java
index c2569847f..68dd3c1c8 100644
---
a/runtime/service/src/test/java/org/apache/polaris/service/task/TableCleanupTaskHandlerTest.java
+++
b/runtime/service/src/test/java/org/apache/polaris/service/task/TableCleanupTaskHandlerTest.java
@@ -37,8 +37,6 @@ import org.apache.iceberg.catalog.Namespace;
import org.apache.iceberg.catalog.TableIdentifier;
import org.apache.iceberg.inmemory.InMemoryFileIO;
import org.apache.iceberg.io.FileIO;
-import org.apache.polaris.core.PolarisCallContext;
-import org.apache.polaris.core.config.PolarisConfigurationStore;
import org.apache.polaris.core.context.CallContext;
import org.apache.polaris.core.context.RealmContext;
import org.apache.polaris.core.entity.AsyncTaskType;
@@ -62,10 +60,8 @@ import org.slf4j.LoggerFactory;
class TableCleanupTaskHandlerTest {
@Inject Clock clock;
@Inject MetaStoreManagerFactory metaStoreManagerFactory;
- @Inject PolarisConfigurationStore configurationStore;
-
- private PolarisMetaStoreManager metaStoreManager;
- private CallContext callContext;
+ @Inject PolarisMetaStoreManager metaStoreManager;
+ @Inject CallContext callContext;
private final RealmContext realmContext = () -> "realmName";
@@ -80,13 +76,6 @@ class TableCleanupTaskHandlerTest {
@BeforeEach
void setup() {
QuarkusMock.installMockForType(realmContext, RealmContext.class);
-
- metaStoreManager =
metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
- callContext =
- new PolarisCallContext(
- realmContext,
- metaStoreManagerFactory.getOrCreateSession(realmContext),
- configurationStore);
}
@Test