From 11c4e593feebe1be259ac73db769983036dc406a Mon Sep 17 00:00:00 2001 From: Fabrizio Demaria Date: Mon, 15 Jan 2024 17:47:26 +0100 Subject: [PATCH] fix: Fix sdk metadata format Signed-off-by: Fabrizio Demaria --- .../confidence/client/ConfidenceRemoteClient.kt | 6 ++---- .../main/java/com/spotify/confidence/client/Types.kt | 10 ++++++++-- .../client/network/ApplyFlagsInteractor.kt | 4 ++-- .../confidence/ConfidenceRemoteClientTests.kt | 12 ++++++++---- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Provider/src/main/java/com/spotify/confidence/client/ConfidenceRemoteClient.kt b/Provider/src/main/java/com/spotify/confidence/client/ConfidenceRemoteClient.kt index ed2a3179..b9d51631 100644 --- a/Provider/src/main/java/com/spotify/confidence/client/ConfidenceRemoteClient.kt +++ b/Provider/src/main/java/com/spotify/confidence/client/ConfidenceRemoteClient.kt @@ -107,8 +107,7 @@ class ConfidenceRemoteClient : ConfidenceClient { ctx.toEvaluationContextStruct(), clientSecret, false, - sdkMetadata.sdkId, - sdkMetadata.sdkVersion + Sdk(sdkMetadata.sdkId, sdkMetadata.sdkVersion) ) val networkResponse = resolveInteractor(request) @@ -128,8 +127,7 @@ class ConfidenceRemoteClient : ConfidenceClient { clock.currentTime(), clientSecret, resolveToken, - sdkMetadata.sdkId, - sdkMetadata.sdkVersion + Sdk(sdkMetadata.sdkId, sdkMetadata.sdkVersion) ) val result = applyInteractor(request).runCatching { if (isSuccessful) { diff --git a/Provider/src/main/java/com/spotify/confidence/client/Types.kt b/Provider/src/main/java/com/spotify/confidence/client/Types.kt index 26ddb23c..36d8bad9 100644 --- a/Provider/src/main/java/com/spotify/confidence/client/Types.kt +++ b/Provider/src/main/java/com/spotify/confidence/client/Types.kt @@ -20,8 +20,14 @@ data class ResolveFlagsRequest( val evaluationContext: Structure, val clientSecret: String, val apply: Boolean, - val sdkId: String, - val sdkVersion: String + val sdk: Sdk +) + +@Serializable +data class Sdk( + @Contextual + val id: String, + val version: String ) @Serializable diff --git a/Provider/src/main/java/com/spotify/confidence/client/network/ApplyFlagsInteractor.kt b/Provider/src/main/java/com/spotify/confidence/client/network/ApplyFlagsInteractor.kt index 29814533..e37095c3 100644 --- a/Provider/src/main/java/com/spotify/confidence/client/network/ApplyFlagsInteractor.kt +++ b/Provider/src/main/java/com/spotify/confidence/client/network/ApplyFlagsInteractor.kt @@ -1,6 +1,7 @@ package com.spotify.confidence.client.network import com.spotify.confidence.client.AppliedFlag +import com.spotify.confidence.client.Sdk import com.spotify.confidence.client.await import com.spotify.confidence.client.serializers.StructureSerializer import com.spotify.confidence.client.serializers.UUIDSerializer @@ -55,8 +56,7 @@ internal data class ApplyFlagsRequest( val sendTime: Date, val clientSecret: String, val resolveToken: String, - val sdkId: String, - val sdkVersion: String + val sdk: Sdk ) private val json = Json { diff --git a/Provider/src/test/java/com/spotify/confidence/ConfidenceRemoteClientTests.kt b/Provider/src/test/java/com/spotify/confidence/ConfidenceRemoteClientTests.kt index 3737f737..ba795294 100644 --- a/Provider/src/test/java/com/spotify/confidence/ConfidenceRemoteClientTests.kt +++ b/Provider/src/test/java/com/spotify/confidence/ConfidenceRemoteClientTests.kt @@ -430,8 +430,10 @@ internal class ConfidenceRemoteClientTests { " },\n" + " \"clientSecret\": \"secret1\",\n" + " \"apply\": false,\n" + - " \"sdkId\": \"SDK_ID_KOTLIN_PROVIDER_TEST\",\n" + - " \"sdkVersion\": \"\"\n" + + " \"sdk\": {\n" + + " \"id\": \"SDK_ID_KOTLIN_PROVIDER_TEST\",\n" + + " \"version\": \"\"\n" + + " }\n" + "}" assertEquals( expectedSerializedRequest.replace("\\s".toRegex(), ""), @@ -497,8 +499,10 @@ internal class ConfidenceRemoteClientTests { " \"sendTime\": \"2023-03-01T14:03:46.124Z\",\n" + " \"clientSecret\": \"secret1\",\n" + " \"resolveToken\": \"token1\",\n" + - " \"sdkId\": \"SDK_ID_KOTLIN_PROVIDER_TEST\",\n" + - " \"sdkVersion\": \"\"\n" + + " \"sdk\": {\n" + + " \"id\": \"SDK_ID_KOTLIN_PROVIDER_TEST\",\n" + + " \"version\": \"\"\n" + + " }\n" + "}" assertEquals( expectedSerializedRequest.replace("\\s".toRegex(), ""),