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)));
+  }
 }

Reply via email to