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 9c09e03e1 Add unit test for legacy config lookup (#1774)
9c09e03e1 is described below
commit 9c09e03e14ff4f28da62b24170523de343f3c690
Author: Dmitri Bourlatchkov <[email protected]>
AuthorDate: Mon Jun 2 14:25:47 2025 -0400
Add unit test for legacy config lookup (#1774)
Following up on #1766
---
.../storage/PolarisConfigurationStoreTest.java | 38 ++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git
a/polaris-core/src/test/java/org/apache/polaris/service/storage/PolarisConfigurationStoreTest.java
b/polaris-core/src/test/java/org/apache/polaris/service/storage/PolarisConfigurationStoreTest.java
index 9994b3833..daff3df96 100644
---
a/polaris-core/src/test/java/org/apache/polaris/service/storage/PolarisConfigurationStoreTest.java
+++
b/polaris-core/src/test/java/org/apache/polaris/service/storage/PolarisConfigurationStoreTest.java
@@ -20,12 +20,15 @@ package org.apache.polaris.service.storage;
import jakarta.annotation.Nullable;
import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
import java.util.function.Supplier;
import org.apache.polaris.core.PolarisCallContext;
import org.apache.polaris.core.config.BehaviorChangeConfiguration;
import org.apache.polaris.core.config.FeatureConfiguration;
import org.apache.polaris.core.config.PolarisConfiguration;
import org.apache.polaris.core.config.PolarisConfigurationStore;
+import org.apache.polaris.core.entity.CatalogEntity;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
@@ -144,4 +147,39 @@ public class PolarisConfigurationStoreTest {
consumer.consumeConfiguration(featureConfig, () -> 42, 43);
}
+
+ @Test
+ public void testEntityOverrides() {
+ @SuppressWarnings("deprecation")
+ Function<Integer, FeatureConfiguration<String>> cfg =
+ i ->
+ PolarisConfiguration.<String>builder()
+ .key("key" + i)
+ .catalogConfig("polaris.config.catalog-key" + i)
+ .catalogConfigUnsafe("legacy-key" + i)
+ .description("")
+ .defaultValue("test-default" + i)
+ .buildFeatureConfiguration();
+
+ PolarisConfigurationStore store =
+ new PolarisConfigurationStore() {
+ @Override
+ public <T> @Nullable T getConfiguration(PolarisCallContext ctx,
String configName) {
+ //noinspection unchecked
+ return (T) Map.of("key2", "config-value2").get(configName);
+ }
+ };
+
+ PolarisCallContext ctx = null;
+ CatalogEntity entity =
+ new CatalogEntity.Builder()
+ .addProperty("polaris.config.catalog-key3", "entity-new3")
+ .addProperty("legacy-key4", "entity-legacy4")
+ .build();
+
+ Assertions.assertEquals("test-default1", store.getConfiguration(ctx,
entity, cfg.apply(1)));
+ Assertions.assertEquals("config-value2", store.getConfiguration(ctx,
entity, cfg.apply(2)));
+ Assertions.assertEquals("entity-new3", store.getConfiguration(ctx, entity,
cfg.apply(3)));
+ Assertions.assertEquals("entity-legacy4", store.getConfiguration(ctx,
entity, cfg.apply(4)));
+ }
}