diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/HostMetadata.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/HostMetadata.java index d45844262..3962f75d9 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/HostMetadata.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/HostMetadata.java @@ -20,6 +20,9 @@ public class HostMetadata { @JsonProperty("workspace_id") private String workspaceId; + @JsonProperty("cloud") + private String cloud; + public HostMetadata() {} public HostMetadata(String oidcEndpoint, String accountId, String workspaceId) { @@ -28,6 +31,13 @@ public HostMetadata(String oidcEndpoint, String accountId, String workspaceId) { this.workspaceId = workspaceId; } + public HostMetadata(String oidcEndpoint, String accountId, String workspaceId, String cloud) { + this.oidcEndpoint = oidcEndpoint; + this.accountId = accountId; + this.workspaceId = workspaceId; + this.cloud = cloud; + } + public String getOidcEndpoint() { return oidcEndpoint; } @@ -39,4 +49,8 @@ public String getAccountId() { public String getWorkspaceId() { return workspaceId; } + + public String getCloud() { + return cloud; + } } diff --git a/databricks-sdk-java/src/test/java/com/databricks/sdk/core/oauth/HostMetadataTest.java b/databricks-sdk-java/src/test/java/com/databricks/sdk/core/oauth/HostMetadataTest.java new file mode 100644 index 000000000..c7c2007c5 --- /dev/null +++ b/databricks-sdk-java/src/test/java/com/databricks/sdk/core/oauth/HostMetadataTest.java @@ -0,0 +1,62 @@ +package com.databricks.sdk.core.oauth; + +import static org.junit.jupiter.api.Assertions.*; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Test; + +class HostMetadataTest { + + private final ObjectMapper mapper = new ObjectMapper(); + + @Test + void testDeserializeWithCloud() throws Exception { + String json = + "{\"oidc_endpoint\":\"https://example.com/oidc\"," + + "\"account_id\":\"acc-123\"," + + "\"workspace_id\":\"ws-456\"," + + "\"cloud\":\"aws\"}"; + + HostMetadata meta = mapper.readValue(json, HostMetadata.class); + + assertEquals("https://example.com/oidc", meta.getOidcEndpoint()); + assertEquals("acc-123", meta.getAccountId()); + assertEquals("ws-456", meta.getWorkspaceId()); + assertEquals("aws", meta.getCloud()); + } + + @Test + void testDeserializeWithoutCloud() throws Exception { + String json = + "{\"oidc_endpoint\":\"https://example.com/oidc\"," + + "\"account_id\":\"acc-123\"," + + "\"workspace_id\":\"ws-456\"}"; + + HostMetadata meta = mapper.readValue(json, HostMetadata.class); + + assertEquals("https://example.com/oidc", meta.getOidcEndpoint()); + assertEquals("acc-123", meta.getAccountId()); + assertEquals("ws-456", meta.getWorkspaceId()); + assertNull(meta.getCloud()); + } + + @Test + void testConstructorWithCloud() { + HostMetadata meta = new HostMetadata("https://example.com/oidc", "acc-123", "ws-456", "gcp"); + + assertEquals("https://example.com/oidc", meta.getOidcEndpoint()); + assertEquals("acc-123", meta.getAccountId()); + assertEquals("ws-456", meta.getWorkspaceId()); + assertEquals("gcp", meta.getCloud()); + } + + @Test + void testConstructorWithoutCloud() { + HostMetadata meta = new HostMetadata("https://example.com/oidc", "acc-123", "ws-456"); + + assertEquals("https://example.com/oidc", meta.getOidcEndpoint()); + assertEquals("acc-123", meta.getAccountId()); + assertEquals("ws-456", meta.getWorkspaceId()); + assertNull(meta.getCloud()); + } +}