@@ -2,7 +2,10 @@ package com.nylas.resources
22
33import com.nylas.NylasClient
44import com.nylas.models.*
5+ import com.nylas.util.ConnectorOverrideCredentialDataAdapter
56import com.nylas.util.JsonHelper
7+ import com.squareup.moshi.JsonReader
8+ import com.squareup.moshi.JsonWriter
69import com.squareup.moshi.Types
710import okhttp3.Call
811import okhttp3.Interceptor
@@ -173,6 +176,39 @@ class CredentialsTests {
173176 assertNull(jsonMap[" client_secret" ])
174177 assertEquals(" custom_value" , jsonMap[" custom_key" ])
175178 }
179+
180+ @Test
181+ fun `ConnectorOverrideCredentialDataAdapter fromJson parses client credentials` () {
182+ val adapter = ConnectorOverrideCredentialDataAdapter ()
183+ val json = """ {"client_id":"test-client-id","client_secret":"test-client-secret","tenant":"my-tenant"}"""
184+ val reader = JsonReader .of(Buffer ().writeUtf8(json))
185+
186+ val result = adapter.fromJson(reader)
187+
188+ assertEquals(" test-client-id" , result.clientId)
189+ assertEquals(" test-client-secret" , result.clientSecret)
190+ assertEquals(" my-tenant" , result.extraProperties?.get(" tenant" ))
191+ }
192+
193+ @Test
194+ fun `ConnectorOverrideCredentialDataAdapter toJson writes client credentials` () {
195+ val adapter = ConnectorOverrideCredentialDataAdapter ()
196+ val buffer = Buffer ()
197+ val writer = JsonWriter .of(buffer)
198+ val credentialData = CredentialData .ConnectorOverride (
199+ clientId = " test-client-id" ,
200+ clientSecret = " test-client-secret" ,
201+ extraProperties = mapOf (" tenant" to " my-tenant" ),
202+ )
203+
204+ adapter.toJson(writer, credentialData)
205+
206+ val json = buffer.readUtf8()
207+ val jsonMap = JsonHelper .jsonToMap(json)
208+ assertEquals(" test-client-id" , jsonMap[" client_id" ])
209+ assertEquals(" test-client-secret" , jsonMap[" client_secret" ])
210+ assertEquals(" my-tenant" , jsonMap[" tenant" ])
211+ }
176212 }
177213
178214 @Nested
0 commit comments