Skip to content

Commit 89babc4

Browse files
authored
test: thirdparty json (#860)
1 parent 25b97e5 commit 89babc4

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

src/test/java/io/supertokens/test/multitenant/api/TestMultitenancyAPIHelper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package io.supertokens.test.multitenant.api;
1818

1919
import com.google.gson.Gson;
20+
import com.google.gson.GsonBuilder;
2021
import com.google.gson.JsonObject;
2122
import io.supertokens.Main;
2223
import io.supertokens.pluginInterface.multitenancy.TenantIdentifier;
@@ -234,9 +235,8 @@ public static JsonObject addOrUpdateThirdPartyProviderConfig(TenantIdentifier te
234235

235236
public static JsonObject addOrUpdateThirdPartyProviderConfig(TenantIdentifier tenantIdentifier, ThirdPartyConfig.Provider provider, boolean skipValidation, Main main)
236237
throws HttpResponseException, IOException {
237-
Gson gson = new Gson();
238238
JsonObject requestBody = new JsonObject();
239-
JsonObject tpConfig = gson.toJsonTree(provider).getAsJsonObject();
239+
JsonObject tpConfig = provider.toJson();
240240
requestBody.add("config", tpConfig);
241241
requestBody.addProperty("skipValidation", skipValidation);
242242

src/test/java/io/supertokens/test/multitenant/api/TestThirdPartyProvider.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package io.supertokens.test.multitenant.api;
1818

1919
import com.google.gson.Gson;
20+
import com.google.gson.GsonBuilder;
2021
import com.google.gson.JsonObject;
2122
import io.supertokens.ProcessState;
2223
import io.supertokens.featureflag.EE_FEATURES;
@@ -40,6 +41,8 @@
4041
import org.junit.Test;
4142

4243
import java.io.IOException;
44+
import java.util.HashMap;
45+
import java.util.Map;
4346

4447
import static org.junit.Assert.*;
4548

@@ -106,6 +109,44 @@ public void testAddThirdPartyConfig() throws Exception {
106109
assertEquals(new Gson().toJsonTree(provider), resultProvider);
107110
}
108111

112+
@Test
113+
public void testAddThirdPartyConfigWithNullValues() throws Exception {
114+
if (StorageLayer.getStorage(process.getProcess()).getType() != STORAGE_TYPE.SQL) {
115+
return;
116+
}
117+
118+
JsonObject objWithNulls = new JsonObject();
119+
objWithNulls.addProperty("key1", "value");
120+
objWithNulls.add("key2", null);
121+
122+
ThirdPartyConfig.Provider provider = new ThirdPartyConfig.Provider(
123+
"google",
124+
"Google",
125+
null,
126+
null,
127+
objWithNulls,
128+
null,
129+
objWithNulls,
130+
null,
131+
objWithNulls,
132+
objWithNulls,
133+
null,
134+
null,
135+
null,
136+
null
137+
);
138+
JsonObject response = TestMultitenancyAPIHelper.addOrUpdateThirdPartyProviderConfig(
139+
new TenantIdentifier(null, null, null),
140+
provider,
141+
process.getProcess()
142+
);
143+
assertTrue(response.get("createdNew").getAsBoolean());
144+
145+
response = TestMultitenancyAPIHelper.getTenant(new TenantIdentifier(null, null, null), process.getProcess());
146+
JsonObject resultProvider = response.get("thirdParty").getAsJsonObject().get("providers").getAsJsonArray().get(0).getAsJsonObject();
147+
assertEquals(provider.toJson(), resultProvider);
148+
}
149+
109150
@Test
110151
public void testUpdateThirdPartyConfig() throws Exception {
111152
if (StorageLayer.getStorage(process.getProcess()).getType() != STORAGE_TYPE.SQL) {

0 commit comments

Comments
 (0)