You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polaris.apache.org by di...@apache.org on 2025/01/31 18:55:01 UTC
(polaris) branch main updated: Make PolarisApiEndpoints respect base URI path prefixes (#918)
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 638c3b77 Make PolarisApiEndpoints respect base URI path prefixes (#918)
638c3b77 is described below
commit 638c3b77c994e38ace5183ed77d131a87d1c0d1e
Author: Andrew Guterman <an...@gmail.com>
AuthorDate: Fri Jan 31 10:54:57 2025 -0800
Make PolarisApiEndpoints respect base URI path prefixes (#918)
* Make PolarisApiEndpoints respect base URI path prefixes
---
.../service/it/env/PolarisApiEndpoints.java | 4 +--
.../service/it/env/PolarisApiEndpointsTest.java} | 42 +++++++---------------
2 files changed, 15 insertions(+), 31 deletions(-)
diff --git a/integration-tests/src/main/java/org/apache/polaris/service/it/env/PolarisApiEndpoints.java b/integration-tests/src/main/java/org/apache/polaris/service/it/env/PolarisApiEndpoints.java
index ff4b1748..392b21f2 100644
--- a/integration-tests/src/main/java/org/apache/polaris/service/it/env/PolarisApiEndpoints.java
+++ b/integration-tests/src/main/java/org/apache/polaris/service/it/env/PolarisApiEndpoints.java
@@ -39,11 +39,11 @@ public final class PolarisApiEndpoints implements Serializable {
}
public URI catalogApiEndpoint() {
- return baseUri.resolve("api/catalog");
+ return baseUri.resolve(baseUri.getRawPath() + "/api/catalog").normalize();
}
public URI managementApiEndpoint() {
- return baseUri.resolve("api/management");
+ return baseUri.resolve(baseUri.getRawPath() + "/api/management").normalize();
}
public String realm() {
diff --git a/integration-tests/src/main/java/org/apache/polaris/service/it/env/PolarisApiEndpoints.java b/integration-tests/src/test/java/org/apache/polaris/service/it/env/PolarisApiEndpointsTest.java
similarity index 53%
copy from integration-tests/src/main/java/org/apache/polaris/service/it/env/PolarisApiEndpoints.java
copy to integration-tests/src/test/java/org/apache/polaris/service/it/env/PolarisApiEndpointsTest.java
index ff4b1748..32877e58 100644
--- a/integration-tests/src/main/java/org/apache/polaris/service/it/env/PolarisApiEndpoints.java
+++ b/integration-tests/src/test/java/org/apache/polaris/service/it/env/PolarisApiEndpointsTest.java
@@ -18,35 +18,19 @@
*/
package org.apache.polaris.service.it.env;
-import java.io.Serializable;
import java.net.URI;
-
-/**
- * This class contains the most fundamental information for accessing Polaris APIs, such as the base
- * URI and realm ID and provides methods for obtaining Icenberg REST API and Polaris Management
- * endpoints.
- */
-public final class PolarisApiEndpoints implements Serializable {
-
- public static String REALM_HEADER = "realm";
-
- private final URI baseUri;
- private final String realm;
-
- public PolarisApiEndpoints(URI baseUri, String realm) {
- this.baseUri = baseUri;
- this.realm = realm;
- }
-
- public URI catalogApiEndpoint() {
- return baseUri.resolve("api/catalog");
- }
-
- public URI managementApiEndpoint() {
- return baseUri.resolve("api/management");
- }
-
- public String realm() {
- return realm;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+/** Unit tests for PolarisApiEndpoints */
+public class PolarisApiEndpointsTest {
+ @Test
+ void testEndpointRespectsPathPrefix() {
+ PolarisApiEndpoints endpoints =
+ new PolarisApiEndpoints(URI.create("http://myserver.com/polaris"), "");
+ Assertions.assertEquals(
+ "http://myserver.com/polaris/api/catalog", endpoints.catalogApiEndpoint().toString());
+ Assertions.assertEquals(
+ "http://myserver.com/polaris/api/management", endpoints.managementApiEndpoint().toString());
}
}