Skip to content

Commit 1531fa2

Browse files
Merge pull request #175 from contentstack/enh/DX-7295-migration
refactor: update JSON handling in DeliveryToken tests and models to use System.Text.Json
2 parents 7807e2b + f36bff1 commit 1531fa2

4 files changed

Lines changed: 72 additions & 77 deletions

File tree

Contentstack.Management.Core.Tests/IntegrationTest/Contentstack016_DeliveryTokenTest.cs

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
using Contentstack.Management.Core.Tests.Model;
88
using Contentstack.Management.Core.Queryable;
99
using Microsoft.VisualStudio.TestTools.UnitTesting;
10-
using Newtonsoft.Json.Linq;
10+
using System.Text.Json.Nodes;
11+
using System.Text.Json;
1112
using System.Security.Cryptography;
1213
using System.Net;
1314
using Contentstack.Management.Core.Exceptions;
14-
using Newtonsoft.Json;
1515
using System.Threading;
1616
using System.Linq;
1717

@@ -107,10 +107,10 @@ public async Task Test001_Should_Create_Delivery_Token()
107107

108108
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Create delivery token failed", "CreateDeliveryTokenSuccess");
109109

110-
var responseObject = response.OpenJObjectResponse();
110+
var responseObject = response.OpenJsonObjectResponse();
111111
AssertLogger.IsNotNull(responseObject["token"], "Response should contain token object");
112112

113-
var tokenData = responseObject["token"] as JObject;
113+
var tokenData = responseObject["token"] as JsonObject;
114114
AssertLogger.IsNotNull(tokenData["uid"], "Token should have UID");
115115
AssertLogger.AreEqual(_testTokenModel.Name, tokenData["name"]?.ToString(), "Token name should match", "TokenName");
116116
AssertLogger.AreEqual(_testTokenModel.Description, tokenData["description"]?.ToString(), "Token description should match", "TokenDescription");
@@ -165,10 +165,10 @@ public async Task Test002_Should_Create_Delivery_Token_Async()
165165

166166
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Async create delivery token failed", "AsyncCreateSuccess");
167167

168-
var responseObject = response.OpenJObjectResponse();
168+
var responseObject = response.OpenJsonObjectResponse();
169169
AssertLogger.IsNotNull(responseObject["token"], "Response should contain token object");
170170

171-
var tokenData = responseObject["token"] as JObject;
171+
var tokenData = responseObject["token"] as JsonObject;
172172
AssertLogger.IsNotNull(tokenData["uid"], "Token should have UID");
173173
AssertLogger.AreEqual(asyncTokenModel.Name, tokenData["name"]?.ToString(), "Token name should match", "AsyncTokenName");
174174

@@ -204,10 +204,10 @@ public async Task Test003_Should_Fetch_Delivery_Token()
204204

205205
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Fetch delivery token failed", "FetchSuccess");
206206

207-
var responseObject = response.OpenJObjectResponse();
207+
var responseObject = response.OpenJsonObjectResponse();
208208
AssertLogger.IsNotNull(responseObject["token"], "Response should contain token object");
209209

210-
var tokenData = responseObject["token"] as JObject;
210+
var tokenData = responseObject["token"] as JsonObject;
211211
AssertLogger.AreEqual(_deliveryTokenUid, tokenData["uid"]?.ToString(), "Token UID should match", "TokenUid");
212212
AssertLogger.AreEqual(_testTokenModel.Name, tokenData["name"]?.ToString(), "Token name should match", "TokenName");
213213
AssertLogger.IsNotNull(tokenData["token"], "Token should have access token");
@@ -236,10 +236,10 @@ public async Task Test004_Should_Fetch_Delivery_Token_Async()
236236

237237
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Async fetch delivery token failed", "AsyncFetchSuccess");
238238

239-
var responseObject = response.OpenJObjectResponse();
239+
var responseObject = response.OpenJsonObjectResponse();
240240
AssertLogger.IsNotNull(responseObject["token"], "Response should contain token object");
241241

242-
var tokenData = responseObject["token"] as JObject;
242+
var tokenData = responseObject["token"] as JsonObject;
243243
AssertLogger.AreEqual(_deliveryTokenUid, tokenData["uid"]?.ToString(), "Token UID should match", "TokenUid");
244244
AssertLogger.IsNotNull(tokenData["token"], "Token should have access token");
245245
}
@@ -293,10 +293,10 @@ public async Task Test005_Should_Update_Delivery_Token()
293293

294294
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Update delivery token failed", "UpdateSuccess");
295295

296-
var responseObject = response.OpenJObjectResponse();
296+
var responseObject = response.OpenJsonObjectResponse();
297297
AssertLogger.IsNotNull(responseObject["token"], "Response should contain token object");
298298

299-
var tokenData = responseObject["token"] as JObject;
299+
var tokenData = responseObject["token"] as JsonObject;
300300
AssertLogger.AreEqual(_deliveryTokenUid, tokenData["uid"]?.ToString(), "Token UID should match", "TokenUid");
301301
AssertLogger.AreEqual(updateModel.Name, tokenData["name"]?.ToString(), "Updated token name should match", "UpdatedTokenName");
302302
AssertLogger.AreEqual(updateModel.Description, tokenData["description"]?.ToString(), "Updated token description should match", "UpdatedTokenDescription");
@@ -351,10 +351,10 @@ public async Task Test006_Should_Update_Delivery_Token_Async()
351351

352352
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Async update delivery token failed", "AsyncUpdateSuccess");
353353

354-
var responseObject = response.OpenJObjectResponse();
354+
var responseObject = response.OpenJsonObjectResponse();
355355
AssertLogger.IsNotNull(responseObject["token"], "Response should contain token object");
356356

357-
var tokenData = responseObject["token"] as JObject;
357+
var tokenData = responseObject["token"] as JsonObject;
358358
AssertLogger.AreEqual(_deliveryTokenUid, tokenData["uid"]?.ToString(), "Token UID should match", "TokenUid");
359359
AssertLogger.AreEqual(updateModel.Name, tokenData["name"]?.ToString(), "Updated token name should match", "UpdatedTokenName");
360360

@@ -382,10 +382,10 @@ public async Task Test007_Should_Query_All_Delivery_Tokens()
382382

383383
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Query delivery tokens failed", "QuerySuccess");
384384

385-
var responseObject = response.OpenJObjectResponse();
385+
var responseObject = response.OpenJsonObjectResponse();
386386
AssertLogger.IsNotNull(responseObject["tokens"], "Response should contain tokens array");
387387

388-
var tokens = responseObject["tokens"] as JArray;
388+
var tokens = responseObject["tokens"] as JsonArray;
389389
AssertLogger.IsTrue(tokens.Count > 0, "Should have at least one delivery token", "TokensCountGreaterThanZero");
390390

391391
bool foundTestToken = false;
@@ -428,10 +428,10 @@ public async Task Test008_Should_Query_Delivery_Tokens_With_Parameters()
428428

429429
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Query delivery tokens with parameters failed", "QueryWithParamsSuccess");
430430

431-
var responseObject = response.OpenJObjectResponse();
431+
var responseObject = response.OpenJsonObjectResponse();
432432
AssertLogger.IsNotNull(responseObject["tokens"], "Response should contain tokens array");
433433

434-
var tokens = responseObject["tokens"] as JArray;
434+
var tokens = responseObject["tokens"] as JsonArray;
435435
AssertLogger.IsTrue(tokens.Count <= 5, "Should respect limit parameter", "RespectLimitParam");
436436

437437
}
@@ -483,14 +483,14 @@ public async Task Test009_Should_Create_Token_With_Multiple_Environments()
483483

484484
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Create multi-environment delivery token failed", "MultiEnvCreateSuccess");
485485

486-
var responseObject = response.OpenJObjectResponse();
487-
var tokenData = responseObject["token"] as JObject;
486+
var responseObject = response.OpenJsonObjectResponse();
487+
var tokenData = responseObject["token"] as JsonObject;
488488
AssertLogger.IsNotNull(tokenData["uid"], "Token should have UID");
489489

490490
string multiEnvTokenUid = tokenData["uid"]?.ToString();
491491
TestOutputLogger.LogContext("MultiEnvTokenUid", multiEnvTokenUid ?? "");
492492

493-
var scope = tokenData["scope"] as JArray;
493+
var scope = tokenData["scope"] as JsonArray;
494494
AssertLogger.IsNotNull(scope, "Token should have scope");
495495
AssertLogger.IsTrue(scope.Count > 0, "Token should have at least one scope", "ScopeCount");
496496

@@ -546,15 +546,15 @@ public async Task Test011_Should_Create_Token_With_Complex_Scope()
546546

547547
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Create complex scope delivery token failed", "ComplexScopeCreateSuccess");
548548

549-
var responseObject = response.OpenJObjectResponse();
550-
var tokenData = responseObject["token"] as JObject;
549+
var responseObject = response.OpenJsonObjectResponse();
550+
var tokenData = responseObject["token"] as JsonObject;
551551
AssertLogger.IsNotNull(tokenData["uid"], "Token should have UID");
552552

553553
string complexScopeTokenUid = tokenData["uid"]?.ToString();
554554
TestOutputLogger.LogContext("ComplexScopeTokenUid", complexScopeTokenUid ?? "");
555555

556556
// Verify multiple scopes
557-
var scope = tokenData["scope"] as JArray;
557+
var scope = tokenData["scope"] as JsonArray;
558558
AssertLogger.IsNotNull(scope, "Token should have scope");
559559
AssertLogger.IsTrue(scope.Count >= 2, "Token should have multiple scopes", "ScopeCountMultiple");
560560

@@ -610,13 +610,13 @@ public async Task Test012_Should_Create_Token_With_UI_Structure()
610610

611611
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Create UI structure delivery token failed", "UIStructureCreateSuccess");
612612

613-
var responseObject = response.OpenJObjectResponse();
614-
var tokenData = responseObject["token"] as JObject;
613+
var responseObject = response.OpenJsonObjectResponse();
614+
var tokenData = responseObject["token"] as JsonObject;
615615
AssertLogger.IsNotNull(tokenData["uid"], "Token should have UID");
616616
AssertLogger.AreEqual(uiStructureTokenModel.Name, tokenData["name"]?.ToString(), "Token name should match", "UITokenName");
617617

618618
// Verify the scope structure matches UI format
619-
var scope = tokenData["scope"] as JArray;
619+
var scope = tokenData["scope"] as JsonArray;
620620
AssertLogger.IsNotNull(scope, "Token should have scope");
621621
AssertLogger.IsTrue(scope.Count == 2, "Token should have 2 scope modules (environment and branch)", "UIScopeCount");
622622

@@ -654,10 +654,10 @@ public async Task Test015_Should_Query_Delivery_Tokens_Async()
654654

655655
AssertLogger.IsTrue(response.IsSuccessStatusCode, $"Async query delivery tokens failed: {response.OpenResponse()}", "AsyncQuerySuccess");
656656

657-
var responseObject = response.OpenJObjectResponse();
657+
var responseObject = response.OpenJsonObjectResponse();
658658
AssertLogger.IsNotNull(responseObject["tokens"], "Response should contain tokens array");
659659

660-
var tokens = responseObject["tokens"] as JArray;
660+
var tokens = responseObject["tokens"] as JsonArray;
661661
AssertLogger.IsTrue(tokens.Count > 0, "Should have at least one delivery token", "AsyncTokensCount");
662662

663663
bool foundTestToken = false;
@@ -717,8 +717,8 @@ public async Task Test016_Should_Create_Token_With_Empty_Description()
717717

718718
AssertLogger.IsTrue(response.IsSuccessStatusCode, $"Create token with empty description failed: {response.OpenResponse()}", "EmptyDescCreateSuccess");
719719

720-
var responseObject = response.OpenJObjectResponse();
721-
var tokenData = responseObject["token"] as JObject;
720+
var responseObject = response.OpenJsonObjectResponse();
721+
var tokenData = responseObject["token"] as JsonObject;
722722
AssertLogger.IsNotNull(tokenData["uid"], "Token should have UID");
723723
AssertLogger.AreEqual(emptyDescTokenModel.Name, tokenData["name"]?.ToString(), "Token name should match", "EmptyDescTokenName");
724724

@@ -947,8 +947,8 @@ public void Test023_Should_Accept_Create_With_Whitespace_Only_Name()
947947
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Should accept token with whitespace name");
948948

949949
// Get token UID for cleanup
950-
var responseObject = response.OpenJObjectResponse();
951-
var tokenData = responseObject["token"] as JObject;
950+
var responseObject = response.OpenJsonObjectResponse();
951+
var tokenData = responseObject["token"] as JsonObject;
952952
string createdTokenUid = tokenData["uid"]?.ToString();
953953

954954
// Verify name contains whitespace
@@ -999,8 +999,8 @@ public void Test025_Should_Accept_Create_With_Invalid_Name_Characters()
999999
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Should accept token with special characters");
10001000

10011001
// Get token UID for cleanup
1002-
var responseObject = response.OpenJObjectResponse();
1003-
var tokenData = responseObject["token"] as JObject;
1002+
var responseObject = response.OpenJsonObjectResponse();
1003+
var tokenData = responseObject["token"] as JsonObject;
10041004
string createdTokenUid = tokenData["uid"]?.ToString();
10051005

10061006
// Verify name contains special characters
@@ -1690,7 +1690,7 @@ public void Test070_Should_Accept_Query_With_Negative_Limit()
16901690
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Should accept query with negative limit");
16911691

16921692
// Server should return results even with negative limit
1693-
var tokens = response.OpenJObjectResponse()["tokens"];
1693+
var tokens = response.OpenJsonObjectResponse()["tokens"];
16941694
AssertLogger.IsNotNull(tokens, "Should return tokens array");
16951695
}
16961696
catch (ArgumentException ex)
@@ -1735,7 +1735,7 @@ public void Test072_Should_Accept_Query_With_Excessive_Limit()
17351735
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Should accept query with large limit");
17361736

17371737
// Server should return results even with excessive limit
1738-
var tokens = response.OpenJObjectResponse()["tokens"];
1738+
var tokens = response.OpenJsonObjectResponse()["tokens"];
17391739
AssertLogger.IsNotNull(tokens, "Should return tokens array");
17401740
}
17411741
catch (ArgumentException ex)
@@ -1789,7 +1789,7 @@ public async Task Test074_Should_Accept_Query_With_Invalid_Parameters_Async()
17891789
AssertLogger.IsTrue(response.IsSuccessStatusCode, "Should accept async query with negative limit");
17901790

17911791
// Server should return results even with negative limit
1792-
var tokens = response.OpenJObjectResponse()["tokens"];
1792+
var tokens = response.OpenJsonObjectResponse()["tokens"];
17931793
AssertLogger.IsNotNull(tokens, "Should return tokens array");
17941794
}
17951795
catch (ArgumentException ex)
@@ -1912,8 +1912,8 @@ public async Task Test082_Should_Handle_Permission_Scenarios_Async()
19121912
if (createResponse.IsSuccessStatusCode)
19131913
{
19141914
// Clean up the test token if created
1915-
var responseObject = createResponse.OpenJObjectResponse();
1916-
var tokenData = responseObject["token"] as JObject;
1915+
var responseObject = createResponse.OpenJsonObjectResponse();
1916+
var tokenData = responseObject["token"] as JsonObject;
19171917
string tokenUid = tokenData["uid"]?.ToString();
19181918

19191919
if (!string.IsNullOrEmpty(tokenUid))
@@ -2004,7 +2004,7 @@ public async Task Test091_Should_Handle_Large_Response_Data()
20042004

20052005
if (response.IsSuccessStatusCode)
20062006
{
2007-
var responseObject = response.OpenJObjectResponse();
2007+
var responseObject = response.OpenJsonObjectResponse();
20082008
AssertLogger.IsNotNull(responseObject, "Response should be parseable even if large");
20092009
}
20102010
}
@@ -2176,7 +2176,7 @@ public async Task Cleanup()
21762176
var tokensResponse = _stack.DeliveryToken().Query().Find();
21772177
if (tokensResponse.IsSuccessStatusCode)
21782178
{
2179-
var tokens = tokensResponse.OpenJObjectResponse()["tokens"] as JArray;
2179+
var tokens = tokensResponse.OpenJsonObjectResponse()["tokens"] as JsonArray;
21802180
if (tokens?.Count > 0)
21812181
{
21822182
foreach (var token in tokens)
@@ -2229,7 +2229,7 @@ private async Task CleanupTestResources()
22292229
var tokensResponse = _stack.DeliveryToken().Query().Find();
22302230
if (tokensResponse.IsSuccessStatusCode)
22312231
{
2232-
var tokens = tokensResponse.OpenJObjectResponse()["tokens"] as JArray;
2232+
var tokens = tokensResponse.OpenJsonObjectResponse()["tokens"] as JsonArray;
22332233
if (tokens?.Count > 0)
22342234
{
22352235
foreach (var token in tokens)
@@ -2265,7 +2265,7 @@ private async Task CleanupTestResources()
22652265
var environmentsResponse = _stack.Environment().Query().Find();
22662266
if (environmentsResponse.IsSuccessStatusCode)
22672267
{
2268-
var environments = environmentsResponse.OpenJObjectResponse()["environments"] as JArray;
2268+
var environments = environmentsResponse.OpenJsonObjectResponse()["environments"] as JsonArray;
22692269
if (environments?.Count > 0)
22702270
{
22712271
foreach (var env in environments)
@@ -2592,8 +2592,8 @@ private async Task<string> CreateTemporaryTokenForTesting(string baseName)
25922592

25932593
if (response.IsSuccessStatusCode)
25942594
{
2595-
var responseObject = response.OpenJObjectResponse();
2596-
var tokenData = responseObject["token"] as JObject;
2595+
var responseObject = response.OpenJsonObjectResponse();
2596+
var tokenData = responseObject["token"] as JsonObject;
25972597
return tokenData["uid"]?.ToString();
25982598
}
25992599
}
@@ -2630,7 +2630,7 @@ private async Task CreateTestEnvironment(string environmentUid = null)
26302630
response = _stack.Environment().Query().Find();
26312631
if (response.IsSuccessStatusCode)
26322632
{
2633-
var environments = response.OpenJObjectResponse()["environments"] as JArray;
2633+
var environments = response.OpenJsonObjectResponse()["environments"] as JsonArray;
26342634
if (environments?.Count > 0)
26352635
{
26362636
Console.WriteLine($"Test environment {envUid} already exists");
@@ -2664,7 +2664,7 @@ private async Task CleanupTestEnvironment(string environmentUid = null)
26642664

26652665
if (queryResponse.IsSuccessStatusCode)
26662666
{
2667-
var environments = queryResponse.OpenJObjectResponse()["environments"] as JArray;
2667+
var environments = queryResponse.OpenJsonObjectResponse()["environments"] as JsonArray;
26682668
if (environments?.Count > 0)
26692669
{
26702670
// Find the environment with matching name

0 commit comments

Comments
 (0)