From bbc4a426faa24f17a491e7dbfbf8b97adecd4859 Mon Sep 17 00:00:00 2001 From: slinkydeveloper Date: Thu, 2 Apr 2026 10:59:49 +0200 Subject: [PATCH 1/2] Let's give this a try --- .../tests/BackwardCompatibilityTest.kt | 8 +- .../tests/ForwardCompatibilityTest.kt | 2 +- src/main/openapi/admin.json | 87 +++++++++++++++++-- 3 files changed, 86 insertions(+), 11 deletions(-) diff --git a/src/main/kotlin/dev/restate/sdktesting/tests/BackwardCompatibilityTest.kt b/src/main/kotlin/dev/restate/sdktesting/tests/BackwardCompatibilityTest.kt index 7a64526d..faa90022 100644 --- a/src/main/kotlin/dev/restate/sdktesting/tests/BackwardCompatibilityTest.kt +++ b/src/main/kotlin/dev/restate/sdktesting/tests/BackwardCompatibilityTest.kt @@ -295,14 +295,16 @@ class BackwardCompatibilityTest { UpdateHttpDeploymentRequest().uri(URI.create(localEndpointURI.toString()))) try { - adminApi.updateDeployment(deployment.httpDeploymentResponse.id, updateRequest) + adminApi.updateDeployment(deployment.deploymentResponseOneOf.id, updateRequest) LOG.info( "Successfully updated deployment {} to use URI {}", - deployment.httpDeploymentResponse.id, + deployment.deploymentResponseOneOf.id, localEndpointURI) } catch (e: Exception) { LOG.error( - "Failed to update deployment {}: {}", deployment.httpDeploymentResponse.id, e.message) + "Failed to update deployment {}: {}", + deployment.deploymentResponseOneOf.id, + e.message) throw e } } diff --git a/src/main/kotlin/dev/restate/sdktesting/tests/ForwardCompatibilityTest.kt b/src/main/kotlin/dev/restate/sdktesting/tests/ForwardCompatibilityTest.kt index 679d03f3..81c1af33 100644 --- a/src/main/kotlin/dev/restate/sdktesting/tests/ForwardCompatibilityTest.kt +++ b/src/main/kotlin/dev/restate/sdktesting/tests/ForwardCompatibilityTest.kt @@ -284,7 +284,7 @@ class ForwardCompatibilityTest { // adminApi.updateDeployment(deployment.httpDeploymentResponse.id, updateRequest) val httpClient = java.net.http.HttpClient.newHttpClient() for (deployment in deployments.deployments) { - val deploymentId = deployment.httpDeploymentResponse.id + val deploymentId = deployment.deploymentResponseOneOf.id val body = """{"uri":"$localEndpointURI"}""" val request = java.net.http.HttpRequest.newBuilder() diff --git a/src/main/openapi/admin.json b/src/main/openapi/admin.json index fc072a39..8b09fb2e 100644 --- a/src/main/openapi/admin.json +++ b/src/main/openapi/admin.json @@ -2344,24 +2344,97 @@ "type": "string" }, "DeploymentResponse": { - "anyOf": [ + "oneOf": [ { - "$ref": "#/components/schemas/HttpDeploymentResponse" + "allOf": [ + { + "$ref": "#/components/schemas/HttpDeploymentResponse" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "http" + ] + } + } + } + ] }, { - "$ref": "#/components/schemas/LambdaDeploymentResponse" + "allOf": [ + { + "$ref": "#/components/schemas/LambdaDeploymentResponse" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "lambda" + ] + } + } + } + ] } ] }, "DetailedDeploymentResponse": { - "anyOf": [ + "oneOf": [ { - "$ref": "#/components/schemas/HttpDetailedDeploymentResponse" + "allOf": [ + { + "$ref": "#/components/schemas/HttpDetailedDeploymentResponse" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "http" + ] + } + } + } + ] }, { - "$ref": "#/components/schemas/LambdaDetailedDeploymentResponse" + "allOf": [ + { + "$ref": "#/components/schemas/LambdaDetailedDeploymentResponse" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "lambda" + ] + } + } + } + ] } - ] + ], + "description": "Detailed information about Restate deployments" }, "EmbeddedMetadataClusterHealth": { "type": "object", From d0ac3fa3443a7889b7ec7effb6fa42ed704720d3 Mon Sep 17 00:00:00 2001 From: slinkydeveloper Date: Thu, 2 Apr 2026 11:27:11 +0200 Subject: [PATCH 2/2] again --- .../tests/BackwardCompatibilityTest.kt | 8 +- .../tests/ForwardCompatibilityTest.kt | 2 +- src/main/openapi/admin.json | 97 ++++--------------- 3 files changed, 23 insertions(+), 84 deletions(-) diff --git a/src/main/kotlin/dev/restate/sdktesting/tests/BackwardCompatibilityTest.kt b/src/main/kotlin/dev/restate/sdktesting/tests/BackwardCompatibilityTest.kt index faa90022..7a64526d 100644 --- a/src/main/kotlin/dev/restate/sdktesting/tests/BackwardCompatibilityTest.kt +++ b/src/main/kotlin/dev/restate/sdktesting/tests/BackwardCompatibilityTest.kt @@ -295,16 +295,14 @@ class BackwardCompatibilityTest { UpdateHttpDeploymentRequest().uri(URI.create(localEndpointURI.toString()))) try { - adminApi.updateDeployment(deployment.deploymentResponseOneOf.id, updateRequest) + adminApi.updateDeployment(deployment.httpDeploymentResponse.id, updateRequest) LOG.info( "Successfully updated deployment {} to use URI {}", - deployment.deploymentResponseOneOf.id, + deployment.httpDeploymentResponse.id, localEndpointURI) } catch (e: Exception) { LOG.error( - "Failed to update deployment {}: {}", - deployment.deploymentResponseOneOf.id, - e.message) + "Failed to update deployment {}: {}", deployment.httpDeploymentResponse.id, e.message) throw e } } diff --git a/src/main/kotlin/dev/restate/sdktesting/tests/ForwardCompatibilityTest.kt b/src/main/kotlin/dev/restate/sdktesting/tests/ForwardCompatibilityTest.kt index 81c1af33..679d03f3 100644 --- a/src/main/kotlin/dev/restate/sdktesting/tests/ForwardCompatibilityTest.kt +++ b/src/main/kotlin/dev/restate/sdktesting/tests/ForwardCompatibilityTest.kt @@ -284,7 +284,7 @@ class ForwardCompatibilityTest { // adminApi.updateDeployment(deployment.httpDeploymentResponse.id, updateRequest) val httpClient = java.net.http.HttpClient.newHttpClient() for (deployment in deployments.deployments) { - val deploymentId = deployment.deploymentResponseOneOf.id + val deploymentId = deployment.httpDeploymentResponse.id val body = """{"uri":"$localEndpointURI"}""" val request = java.net.http.HttpRequest.newBuilder() diff --git a/src/main/openapi/admin.json b/src/main/openapi/admin.json index 8b09fb2e..95cc0bc4 100644 --- a/src/main/openapi/admin.json +++ b/src/main/openapi/admin.json @@ -2346,95 +2346,36 @@ "DeploymentResponse": { "oneOf": [ { - "allOf": [ - { - "$ref": "#/components/schemas/HttpDeploymentResponse" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "http" - ] - } - } - } - ] + "$ref": "#/components/schemas/HttpDeploymentResponse" }, { - "allOf": [ - { - "$ref": "#/components/schemas/LambdaDeploymentResponse" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "lambda" - ] - } - } - } - ] + "$ref": "#/components/schemas/LambdaDeploymentResponse" } - ] + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "http": "#/components/schemas/HttpDeploymentResponse", + "lambda": "#/components/schemas/LambdaDeploymentResponse" + } + } }, "DetailedDeploymentResponse": { "oneOf": [ { - "allOf": [ - { - "$ref": "#/components/schemas/HttpDetailedDeploymentResponse" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "http" - ] - } - } - } - ] + "$ref": "#/components/schemas/HttpDetailedDeploymentResponse" }, { - "allOf": [ - { - "$ref": "#/components/schemas/LambdaDetailedDeploymentResponse" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "lambda" - ] - } - } - } - ] + "$ref": "#/components/schemas/LambdaDetailedDeploymentResponse" } ], - "description": "Detailed information about Restate deployments" + "discriminator": { + "propertyName": "type", + "mapping": { + "http": "#/components/schemas/HttpDetailedDeploymentResponse", + "lambda": "#/components/schemas/LambdaDetailedDeploymentResponse" + } + } }, "EmbeddedMetadataClusterHealth": { "type": "object",