diff --git a/Contentstack.Management.Core.Tests/Contentstack.Management.Core.Tests.csproj b/Contentstack.Management.Core.Tests/Contentstack.Management.Core.Tests.csproj index ad6ede9..322c295 100644 --- a/Contentstack.Management.Core.Tests/Contentstack.Management.Core.Tests.csproj +++ b/Contentstack.Management.Core.Tests/Contentstack.Management.Core.Tests.csproj @@ -53,14 +53,12 @@ - - - + + + - - diff --git a/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack004_ReleaseTest.cs b/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack004_ReleaseTest.cs index f69b637..3ffb898 100644 --- a/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack004_ReleaseTest.cs +++ b/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack004_ReleaseTest.cs @@ -6,7 +6,7 @@ using Contentstack.Management.Core.Tests.Model; using Contentstack.Management.Core.Queryable; using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; +using System.Text.Json.Nodes; using Contentstack.Management.Core.Exceptions; namespace Contentstack.Management.Core.Tests.IntegrationTest @@ -168,7 +168,7 @@ private string CreateTestRelease() }; ContentstackResponse contentstackResponse = _stack.Release().Create(releaseModel); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); if (!contentstackResponse.IsSuccessStatusCode || response?["release"] == null) { @@ -195,7 +195,7 @@ public void Test001_Should_Create_Release() Assert.IsNotNull(releaseUid); ContentstackResponse contentstackResponse = _stack.Release(releaseUid).Fetch(); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -239,7 +239,7 @@ private async Task CreateTestReleaseAsync() }; ContentstackResponse contentstackResponse = await _stack.Release().CreateAsync(releaseModel); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); if (!contentstackResponse.IsSuccessStatusCode || response?["release"] == null) { @@ -274,7 +274,7 @@ private List CreateSixNumberedReleases() }; ContentstackResponse contentstackResponse = _stack.Release().Create(releaseModel); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); if (!contentstackResponse.IsSuccessStatusCode || response?["release"] == null) { @@ -322,7 +322,7 @@ private async Task> CreateSixNumberedReleasesAsync() }; ContentstackResponse contentstackResponse = await _stack.Release().CreateAsync(releaseModel); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); if (!contentstackResponse.IsSuccessStatusCode || response?["release"] == null) { @@ -402,7 +402,7 @@ public async Task Test002_Should_Create_Release_Async() Assert.IsNotNull(releaseUid); ContentstackResponse contentstackResponse = await _stack.Release(releaseUid).FetchAsync(); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -440,13 +440,13 @@ public void Test003_Should_Query_All_Releases() releaseUids = CreateSixNumberedReleases(); ContentstackResponse contentstackResponse = _stack.Release().Query().Find(); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); Assert.IsNotNull(response["releases"]); - var releases = response["releases"] as JArray; + var releases = response["releases"] as JsonArray; Assert.IsNotNull(releases); Assert.IsTrue(releases.Count >= 6, $"Expected at least 6 releases, but found {releases.Count}"); @@ -479,13 +479,13 @@ public async Task Test004_Should_Query_All_Releases_Async() releaseUids = await CreateSixNumberedReleasesAsync(); ContentstackResponse contentstackResponse = await _stack.Release().Query().FindAsync(); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); Assert.IsNotNull(response["releases"]); - var releases = response["releases"] as JArray; + var releases = response["releases"] as JsonArray; Assert.IsNotNull(releases); Assert.IsTrue(releases.Count >= 6, $"Expected at least 6 releases, but found {releases.Count}"); @@ -519,7 +519,7 @@ public void Test005_Should_Fetch_Release() string releaseToFetch = releaseUids[2]; ContentstackResponse contentstackResponse = _stack.Release(releaseToFetch).Fetch(); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -549,7 +549,7 @@ public async Task Test006_Should_Fetch_Release_Async() string releaseToFetch = releaseUids[4]; ContentstackResponse contentstackResponse = await _stack.Release(releaseToFetch).FetchAsync(); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -586,7 +586,7 @@ public void Test007_Should_Update_Release() }; ContentstackResponse contentstackResponse = _stack.Release(releaseUid).Update(updateModel); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -631,7 +631,7 @@ public async Task Test008_Should_Update_Release_Async() }; ContentstackResponse contentstackResponse = await _stack.Release(releaseUid).UpdateAsync(updateModel); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -672,7 +672,7 @@ public void Test009_Should_Clone_Release() string cloneDescription = _testReleaseDescription + " (Cloned)"; ContentstackResponse contentstackResponse = _stack.Release(originalReleaseUid).Clone(cloneName, cloneDescription); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -726,7 +726,7 @@ public async Task Test010_Should_Clone_Release_Async() string cloneDescription = _testReleaseDescription + " (Cloned Async)"; ContentstackResponse contentstackResponse = await _stack.Release(originalReleaseUid).CloneAsync(cloneName, cloneDescription); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -778,7 +778,7 @@ public void Test011_Should_Query_Release_With_Parameters() parameters.Add("limit", "5"); ContentstackResponse contentstackResponse = _stack.Release().Query().Limit(5).Find(); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -803,7 +803,7 @@ public async Task Test012_Should_Query_Release_With_Parameters_Async() parameters.Add("limit", "5"); ContentstackResponse contentstackResponse = await _stack.Release().Query().Limit(5).FindAsync(); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -834,7 +834,7 @@ public void Test013_Should_Create_Release_With_ParameterCollection() parameters.Add("include_count", "true"); ContentstackResponse contentstackResponse = _stack.Release().Create(releaseModel, parameters); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -869,7 +869,7 @@ public async Task Test014_Should_Create_Release_With_ParameterCollection_Async() parameters.Add("include_count", "true"); ContentstackResponse contentstackResponse = await _stack.Release().CreateAsync(releaseModel, parameters); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -896,7 +896,7 @@ public void Test015_Should_Get_Release_Items() releaseUid = CreateTestRelease(); ContentstackResponse contentstackResponse = _stack.Release(releaseUid).Item().GetAll(); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -930,7 +930,7 @@ public async Task Test016_Should_Get_Release_Items_Async() releaseUid = await CreateTestReleaseAsync(); ContentstackResponse contentstackResponse = await _stack.Release(releaseUid).Item().GetAllAsync(); - var response = contentstackResponse.OpenJObjectResponse(); + var response = contentstackResponse.OpenJsonObjectResponse(); Assert.IsNotNull(response); Assert.IsTrue(contentstackResponse.IsSuccessStatusCode); @@ -997,7 +997,7 @@ public void Test019_Should_Delete_Release() }; ContentstackResponse createResponse = _stack.Release().Create(releaseModel); - var createResponseJson = createResponse.OpenJObjectResponse(); + var createResponseJson = createResponse.OpenJsonObjectResponse(); string releaseToDeleteUid = createResponseJson["release"]["uid"].ToString(); ContentstackResponse contentstackResponse = _stack.Release(releaseToDeleteUid).Delete(); @@ -1026,7 +1026,7 @@ public async Task Test020_Should_Delete_Release_Async() }; ContentstackResponse createResponse = await _stack.Release().CreateAsync(releaseModel); - var createResponseJson = createResponse.OpenJObjectResponse(); + var createResponseJson = createResponse.OpenJsonObjectResponse(); string releaseToDeleteUid = createResponseJson["release"]["uid"].ToString(); ContentstackResponse contentstackResponse = await _stack.Release(releaseToDeleteUid).DeleteAsync(); @@ -1059,7 +1059,7 @@ public void Test021_Should_Delete_Release_Without_Content_Type_Header() }; ContentstackResponse createResponse = _stack.Release().Create(releaseModel); - var createResponseJson = createResponse.OpenJObjectResponse(); + var createResponseJson = createResponse.OpenJsonObjectResponse(); Assert.IsTrue(createResponse.IsSuccessStatusCode, "Create release must succeed."); string releaseToDeleteUid = createResponseJson["release"]["uid"].ToString(); @@ -1103,7 +1103,7 @@ public async Task Test022_Should_Delete_Release_Async_Without_Content_Type_Heade }; ContentstackResponse createResponse = await _stack.Release().CreateAsync(releaseModel); - var createResponseJson = createResponse.OpenJObjectResponse(); + var createResponseJson = createResponse.OpenJsonObjectResponse(); Assert.IsTrue(createResponse.IsSuccessStatusCode, "Create release must succeed."); string releaseToDeleteUid = createResponseJson["release"]["uid"].ToString(); diff --git a/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack015_BulkOperationTest.cs b/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack015_BulkOperationTest.cs index da6030b..12f40d3 100644 --- a/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack015_BulkOperationTest.cs +++ b/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack015_BulkOperationTest.cs @@ -194,16 +194,15 @@ private static Stack GetStack() public static void ClassInitialize(TestContext context) { _client = Contentstack.CreateAuthenticatedClient(); - // Stack.Workflow() not yet migrated — commented out - //try - //{ - // Stack stack = GetStack(); - // EnsureBulkTestWorkflowAndPublishingRuleAsync(stack).GetAwaiter().GetResult(); - //} - //catch (Exception) - //{ - // // Workflow/publish rule setup failed (e.g. auth, plan limits); tests can still run without them - //} + try + { + Stack stack = GetStack(); + EnsureBulkTestWorkflowAndPublishingRuleAsync(stack).GetAwaiter().GetResult(); + } + catch (Exception) + { + // Workflow/publish rule setup failed (e.g. auth, plan limits); tests can still run without them + } } [ClassCleanup] @@ -231,31 +230,29 @@ public async Task Initialize() Console.WriteLine($"[Initialize] CreateTestEnvironment skipped: HTTP {(int)ex.StatusCode} ({ex.StatusCode}). ErrorCode: {ex.ErrorCode}. Message: {ex.ErrorMessage ?? ex.Message}"); } - // Stack.Release() not yet migrated — commented out - //try - //{ - // await CreateTestRelease(); - //} - //catch (ContentstackErrorException ex) - //{ - // Console.WriteLine($"[Initialize] CreateTestRelease skipped: HTTP {(int)ex.StatusCode} ({ex.StatusCode}). ErrorCode: {ex.ErrorCode}. Message: {ex.ErrorMessage ?? ex.Message}"); - //} + try + { + await CreateTestRelease(); + } + catch (ContentstackErrorException ex) + { + Console.WriteLine($"[Initialize] CreateTestRelease skipped: HTTP {(int)ex.StatusCode} ({ex.StatusCode}). ErrorCode: {ex.ErrorCode}. Message: {ex.ErrorMessage ?? ex.Message}"); + } - // Stack.Workflow() not yet migrated — commented out - //if (string.IsNullOrEmpty(_bulkTestWorkflowUid)) - //{ - // try - // { - // EnsureBulkTestWorkflowAndPublishingRuleAsync(_stack).GetAwaiter().GetResult(); - // } - // catch (Exception ex) - // { - // _bulkTestWorkflowSetupError = ex is ContentstackErrorException cex - // ? $"HTTP {(int)cex.StatusCode} ({cex.StatusCode}). ErrorCode: {cex.ErrorCode}. Message: {cex.ErrorMessage ?? cex.Message}" - // : ex.Message; - // Console.WriteLine($"[Initialize] Workflow setup failed: {_bulkTestWorkflowSetupError}"); - // } - //} + if (string.IsNullOrEmpty(_bulkTestWorkflowUid)) + { + try + { + EnsureBulkTestWorkflowAndPublishingRuleAsync(_stack).GetAwaiter().GetResult(); + } + catch (Exception ex) + { + _bulkTestWorkflowSetupError = ex is ContentstackErrorException cex + ? $"HTTP {(int)cex.StatusCode} ({cex.StatusCode}). ErrorCode: {cex.ErrorCode}. Message: {cex.ErrorMessage ?? cex.Message}" + : ex.Message; + Console.WriteLine($"[Initialize] Workflow setup failed: {_bulkTestWorkflowSetupError}"); + } + } } // Stack.Workflow() not yet migrated — Test000a commented out @@ -1134,24 +1131,24 @@ public void Test009_Should_Cleanup_Test_Resources() } } - // 3. Stack.Workflow() not yet migrated — commented out - //CleanupBulkTestWorkflowAndPublishingRule(_stack); - //Console.WriteLine("[Cleanup] Workflow and publishing rule cleanup done."); - - // 4. Stack.Release() not yet migrated — commented out - //if (!string.IsNullOrEmpty(_testReleaseUid)) - //{ - // try - // { - // _stack.Release(_testReleaseUid).Delete(); - // Console.WriteLine($"[Cleanup] Deleted release: {_testReleaseUid}"); - // _testReleaseUid = null; - // } - // catch (Exception ex) - // { - // Console.WriteLine($"[Cleanup] Failed to delete release {_testReleaseUid}: {ex.Message}"); - // } - //} + // 3. Cleanup workflow and publishing rule + CleanupBulkTestWorkflowAndPublishingRule(_stack); + Console.WriteLine("[Cleanup] Workflow and publishing rule cleanup done."); + + // 4. Cleanup release + if (!string.IsNullOrEmpty(_testReleaseUid)) + { + try + { + _stack.Release(_testReleaseUid).Delete(); + Console.WriteLine($"[Cleanup] Deleted release: {_testReleaseUid}"); + _testReleaseUid = null; + } + catch (Exception ex) + { + Console.WriteLine($"[Cleanup] Failed to delete release {_testReleaseUid}: {ex.Message}"); + } + } // 5. Delete the test environment if (!string.IsNullOrEmpty(_testEnvironmentUid)) @@ -3653,22 +3650,21 @@ private async Task CreateTestEnvironment() private async Task CreateTestRelease() { - // Stack.Release() not yet migrated — commented out - //try - //{ - // var releaseModel = new ReleaseModel - // { - // Name = "bulk_test_release", - // Description = "Release for testing bulk operations", - // Locked = false, - // Archived = false - // }; - // ContentstackResponse response = _stack.Release().Create(releaseModel); - // var responseJson = response.OpenJsonObjectResponse(); - // if (response.IsSuccessStatusCode && responseJson["release"] != null) - // _testReleaseUid = responseJson["release"]["uid"].ToString(); - //} - //catch (Exception e) { } + try + { + var releaseModel = new ReleaseModel + { + Name = "bulk_test_release", + Description = "Release for testing bulk operations", + Locked = false, + Archived = false + }; + ContentstackResponse response = _stack.Release().Create(releaseModel); + var responseJson = response.OpenJsonObjectResponse(); + if (response.IsSuccessStatusCode && responseJson["release"] != null) + _testReleaseUid = responseJson["release"]["uid"].ToString(); + } + catch (Exception e) { } await Task.CompletedTask; } @@ -3928,8 +3924,163 @@ private static async Task EnsureBulkTestEnvironmentAsync(Stack stack) /// private static async Task EnsureBulkTestWorkflowAndPublishingRuleAsync(Stack stack) { - // Stack.Workflow() not yet migrated — commented out - await Task.CompletedTask; + if (string.IsNullOrEmpty(_bulkTestEnvironmentUid)) + await EnsureBulkTestEnvironmentAsync(stack); + + const string workflowName = "workflow_test"; + + // Try to find an existing workflow with the same name + try + { + ContentstackResponse listResponse = stack.Workflow().FindAll(); + if (listResponse.IsSuccessStatusCode) + { + var listJson = listResponse.OpenJsonObjectResponse(); + var existing = listJson["workflows"]?.AsArray() ?? listJson["workflow"]?.AsArray(); + if (existing != null) + { + foreach (var wf in existing) + { + if (wf["name"]?.ToString() == workflowName && wf["uid"] != null) + { + _bulkTestWorkflowUid = wf["uid"].ToString(); + var existingStages = wf["workflow_stages"]?.AsArray(); + if (existingStages != null && existingStages.Count >= 2) + { + _bulkTestWorkflowStage1Uid = existingStages[0]["uid"]?.ToString(); + _bulkTestWorkflowStage2Uid = existingStages[1]["uid"]?.ToString(); + _bulkTestWorkflowStageUid = _bulkTestWorkflowStage2Uid; + } + break; + } + } + } + } + } + catch { /* If listing fails, proceed to create */ } + + if (string.IsNullOrEmpty(_bulkTestWorkflowUid)) + { + var sysAcl = new Dictionary + { + ["roles"] = new Dictionary { ["uids"] = new List() }, + ["users"] = new Dictionary { ["uids"] = new List { "$all" } }, + ["others"] = new Dictionary() + }; + + var workflowModel = new WorkflowModel + { + Name = workflowName, + Enabled = true, + Branches = new List { "main" }, + ContentTypes = new List { "$all" }, + AdminUsers = new Dictionary { ["users"] = new List() }, + WorkflowStages = new List + { + new WorkflowStage + { + Name = "New stage 1", + Color = "#fe5cfb", + SystemACL = sysAcl, + NextAvailableStages = new List { "$all" }, + AllStages = true, + AllUsers = true, + SpecificStages = false, + SpecificUsers = false, + EntryLock = "$none" + }, + new WorkflowStage + { + Name = "New stage 2", + Color = "#3688bf", + SystemACL = new Dictionary + { + ["roles"] = new Dictionary { ["uids"] = new List() }, + ["users"] = new Dictionary { ["uids"] = new List { "$all" } }, + ["others"] = new Dictionary() + }, + NextAvailableStages = new List { "$all" }, + AllStages = true, + AllUsers = true, + SpecificStages = false, + SpecificUsers = false, + EntryLock = "$none" + } + } + }; + + ContentstackResponse response = stack.Workflow().Create(workflowModel); + if (response.IsSuccessStatusCode) + { + var responseJson = response.OpenJsonObjectResponse(); + var workflowObj = responseJson["workflow"]; + if (workflowObj?["uid"] != null) + { + _bulkTestWorkflowUid = workflowObj["uid"].ToString(); + var stages = workflowObj["workflow_stages"]?.AsArray(); + if (stages != null && stages.Count >= 2) + { + _bulkTestWorkflowStage1Uid = stages[0]["uid"]?.ToString(); + _bulkTestWorkflowStage2Uid = stages[1]["uid"]?.ToString(); + _bulkTestWorkflowStageUid = _bulkTestWorkflowStage2Uid; + } + } + } + } + + if (string.IsNullOrEmpty(_bulkTestWorkflowUid) || string.IsNullOrEmpty(_bulkTestEnvironmentUid)) + return; + + // Try to find an existing matching publish rule + try + { + ContentstackResponse listResponse = stack.Workflow().PublishRule().FindAll(); + if (listResponse.IsSuccessStatusCode) + { + var listJson = listResponse.OpenJsonObjectResponse(); + var rules = listJson["publishing_rules"]?.AsArray() ?? listJson["publishing_rule"]?.AsArray(); + if (rules != null) + { + foreach (var rule in rules) + { + if (rule["workflow"]?.ToString() == _bulkTestWorkflowUid + && rule["workflow_stage"]?.ToString() == _bulkTestWorkflowStage2Uid + && rule["environment"]?.ToString() == _bulkTestEnvironmentUid + && rule["uid"] != null) + { + _bulkTestPublishRuleUid = rule["uid"].ToString(); + return; + } + } + } + } + } + catch { /* If listing fails, proceed to create */ } + + if (!string.IsNullOrEmpty(_bulkTestWorkflowStage2Uid)) + { + var publishRuleModel = new PublishRuleModel + { + WorkflowUid = _bulkTestWorkflowUid, + WorkflowStageUid = _bulkTestWorkflowStage2Uid, + Environment = _bulkTestEnvironmentUid, + Branches = new List { "main" }, + ContentTypes = new List { "$all" }, + Locales = new List { "en-us" }, + Actions = new List(), + Approvers = new Approvals { Users = new List(), Roles = new List() }, + DisableApproval = false + }; + + ContentstackResponse response = stack.Workflow().PublishRule().Create(publishRuleModel); + if (response.IsSuccessStatusCode) + { + var responseJson = response.OpenJsonObjectResponse(); + var ruleObj = responseJson["publishing_rule"]; + if (ruleObj?["uid"] != null) + _bulkTestPublishRuleUid = ruleObj["uid"].ToString(); + } + } } /// @@ -3937,20 +4088,19 @@ private static async Task EnsureBulkTestWorkflowAndPublishingRuleAsync(Stack sta /// private static void CleanupBulkTestWorkflowAndPublishingRule(Stack stack) { - // Stack.Workflow() not yet migrated — commented out - //if (!string.IsNullOrEmpty(_bulkTestPublishRuleUid)) - //{ - // try { stack.Workflow().PublishRule(_bulkTestPublishRuleUid).Delete(); } catch { } - // _bulkTestPublishRuleUid = null; - //} - //if (!string.IsNullOrEmpty(_bulkTestWorkflowUid)) - //{ - // try { stack.Workflow(_bulkTestWorkflowUid).Delete(); } catch { } - // _bulkTestWorkflowUid = null; - //} - //_bulkTestWorkflowStageUid = null; - //_bulkTestWorkflowStage1Uid = null; - //_bulkTestWorkflowStage2Uid = null; + if (!string.IsNullOrEmpty(_bulkTestPublishRuleUid)) + { + try { stack.Workflow().PublishRule(_bulkTestPublishRuleUid).Delete(); } catch { } + _bulkTestPublishRuleUid = null; + } + if (!string.IsNullOrEmpty(_bulkTestWorkflowUid)) + { + try { stack.Workflow(_bulkTestWorkflowUid).Delete(); } catch { } + _bulkTestWorkflowUid = null; + } + _bulkTestWorkflowStageUid = null; + _bulkTestWorkflowStage1Uid = null; + _bulkTestWorkflowStage2Uid = null; } /// diff --git a/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack020_WorkflowTest.cs b/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack020_WorkflowTest.cs index 79bd43d..5bd16fa 100644 --- a/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack020_WorkflowTest.cs +++ b/Contentstack.Management.Core.Tests/IntegrationTest/Contentstack020_WorkflowTest.cs @@ -1326,7 +1326,7 @@ public void Test005_Should_Update_Workflow_Properties() AssertLogger.IsTrue(response.IsSuccessStatusCode, $"Workflow update failed with status {(int)response.StatusCode}", "workflowUpdateSuccess"); AssertLogger.IsNotNull(responseJson["workflow"], "workflowObject"); AssertLogger.AreEqual(updatedName, responseJson["workflow"]["name"]?.ToString(), "updatedWorkflowName"); - AssertLogger.AreEqual(false, responseJson["workflow"]["enabled"]?.Value(), "updatedEnabledStatus"); + AssertLogger.AreEqual(false, responseJson["workflow"]["enabled"]?.GetValue(), "updatedEnabledStatus"); TestOutputLogger.LogContext("UpdatedWorkflowUid", workflowUid); } @@ -1600,7 +1600,7 @@ public async Task Test012_Should_Update_Publish_Rule() // Assert AssertLogger.IsNotNull(response, "publishRuleUpdateResponse"); AssertLogger.IsTrue(response.IsSuccessStatusCode, $"Publish rule update failed with status {(int)response.StatusCode}", "publishRuleUpdateSuccess"); - AssertLogger.AreEqual(true, responseJson["publishing_rule"]["disable_approver_publishing"]?.Value(), "updatedDisableApproval"); + AssertLogger.AreEqual(true, responseJson["publishing_rule"]["disable_approver_publishing"]?.GetValue(), "updatedDisableApproval"); TestOutputLogger.LogContext("UpdatedPublishRuleUid", publishRuleUid); } diff --git a/Contentstack.Management.Core.Unit.Tests/Contentstack.Management.Core.Unit.Tests.csproj b/Contentstack.Management.Core.Unit.Tests/Contentstack.Management.Core.Unit.Tests.csproj index 4af9382..0ec0f4d 100644 --- a/Contentstack.Management.Core.Unit.Tests/Contentstack.Management.Core.Unit.Tests.csproj +++ b/Contentstack.Management.Core.Unit.Tests/Contentstack.Management.Core.Unit.Tests.csproj @@ -61,15 +61,15 @@ - - - - + + + + - + diff --git a/Contentstack.Management.Core.Unit.Tests/Models/PublishQueueTest.cs b/Contentstack.Management.Core.Unit.Tests/Models/PublishQueueTest.cs index 2020852..e8c529d 100644 --- a/Contentstack.Management.Core.Unit.Tests/Models/PublishQueueTest.cs +++ b/Contentstack.Management.Core.Unit.Tests/Models/PublishQueueTest.cs @@ -55,7 +55,7 @@ public void Should_Fetch_PublishQueue() ContentstackResponse response = _stack.PublishQueue(_fixture.Create()).Fetch(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -64,7 +64,7 @@ public async System.Threading.Tasks.Task Should_Fetch_PublishQueue_Async() ContentstackResponse response = await _stack.PublishQueue(_fixture.Create()).FetchAsync(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -73,7 +73,7 @@ public void Should_Find_PublishQueue() ContentstackResponse response = _stack.PublishQueue().FindAll(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -82,7 +82,7 @@ public async System.Threading.Tasks.Task Should_Find_PublishQueue_Async() ContentstackResponse response = await _stack.PublishQueue().FindAllAsync(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -91,7 +91,7 @@ public void Should_Cancel_PublishQueue() ContentstackResponse response = _stack.PublishQueue(_fixture.Create()).Cancel(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -100,7 +100,7 @@ public async System.Threading.Tasks.Task Should_Cancel_PublishQueue_Async() ContentstackResponse response = await _stack.PublishQueue(_fixture.Create()).CancelAsync(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } } } diff --git a/Contentstack.Management.Core.Unit.Tests/Models/PublishRuleTest.cs b/Contentstack.Management.Core.Unit.Tests/Models/PublishRuleTest.cs index 42d3790..76bbb80 100644 --- a/Contentstack.Management.Core.Unit.Tests/Models/PublishRuleTest.cs +++ b/Contentstack.Management.Core.Unit.Tests/Models/PublishRuleTest.cs @@ -29,12 +29,12 @@ public void Initialize_PublishRule() Assert.IsNull(publishRule.Uid); Assert.AreEqual($"/workflows/publishing_rules", publishRule.resourcePath); - Assert.ThrowsException(() => publishRule.Fetch()); - Assert.ThrowsExceptionAsync(() => publishRule.FetchAsync()); - Assert.ThrowsException(() => publishRule.Update(_fixture.Create())); - Assert.ThrowsExceptionAsync(() => publishRule.UpdateAsync(_fixture.Create())); - Assert.ThrowsException(() => publishRule.Delete()); - Assert.ThrowsExceptionAsync(() => publishRule.DeleteAsync()); + Assert.ThrowsException(() => publishRule.Fetch()); + Assert.ThrowsExceptionAsync(() => publishRule.FetchAsync()); + Assert.ThrowsException(() => publishRule.Update(_fixture.Create())); + Assert.ThrowsExceptionAsync(() => publishRule.UpdateAsync(_fixture.Create())); + Assert.ThrowsException(() => publishRule.Delete()); + Assert.ThrowsExceptionAsync(() => publishRule.DeleteAsync()); } [TestMethod] @@ -57,7 +57,7 @@ public void Should_Create_PublishRule() ContentstackResponse response = _stack.Workflow().PublishRule().Create(new PublishRuleModel()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -66,7 +66,7 @@ public async System.Threading.Tasks.Task Should_Create_PublishRule_Async() ContentstackResponse response = await _stack.Workflow().PublishRule().CreateAsync(new PublishRuleModel()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -75,7 +75,7 @@ public void Should_Find_All_PublishRule() ContentstackResponse response = _stack.Workflow().PublishRule().FindAll(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -84,7 +84,7 @@ public async System.Threading.Tasks.Task Should_Find_All_PublishRule_Async() ContentstackResponse response = await _stack.Workflow().PublishRule().FindAllAsync(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -93,7 +93,7 @@ public void Should_Fetch_PublishRule() ContentstackResponse response = _stack.Workflow().PublishRule(_fixture.Create()).Fetch(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -102,7 +102,7 @@ public async System.Threading.Tasks.Task Should_Find_PublishRule_Async() ContentstackResponse response = await _stack.Workflow().PublishRule(_fixture.Create()).FetchAsync(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -111,7 +111,7 @@ public void Should_Update_PublishRule() ContentstackResponse response = _stack.Workflow().PublishRule(_fixture.Create()).Update(new PublishRuleModel()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -120,7 +120,7 @@ public async System.Threading.Tasks.Task Should_Update_PublishRule_Async() ContentstackResponse response = await _stack.Workflow().PublishRule(_fixture.Create()).UpdateAsync(new PublishRuleModel()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -129,7 +129,7 @@ public void Should_Delete_PublishRule() ContentstackResponse response = _stack.Workflow().PublishRule(_fixture.Create()).Delete(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -138,7 +138,7 @@ public async System.Threading.Tasks.Task Should_Delete_PublishRule_Async() ContentstackResponse response = await _stack.Workflow().PublishRule(_fixture.Create()).DeleteAsync(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } } } diff --git a/Contentstack.Management.Core.Unit.Tests/Models/ReleaseItemTest.cs b/Contentstack.Management.Core.Unit.Tests/Models/ReleaseItemTest.cs index 94dbfbb..ec5671e 100644 --- a/Contentstack.Management.Core.Unit.Tests/Models/ReleaseItemTest.cs +++ b/Contentstack.Management.Core.Unit.Tests/Models/ReleaseItemTest.cs @@ -57,7 +57,7 @@ public void Should_Create_ReleaseItem() ContentstackResponse response = _stack.Release(_releaseUID).Item().Create(_fixture.Create()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -66,7 +66,7 @@ public async System.Threading.Tasks.Task Should_Create_Release_Async() ContentstackResponse response = await _stack.Release(_releaseUID).Item().CreateAsync(_fixture.Create()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -75,7 +75,7 @@ public void Should_Create_Multiple_Release_Item() ContentstackResponse response = _stack.Release(_releaseUID).Item().CreateMultiple(_fixture.Create>()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -84,7 +84,7 @@ public async System.Threading.Tasks.Task Should_Create_Multiple_Release_Item_Asy ContentstackResponse response = await _stack.Release(_releaseUID).Item().CreateMultipleAsync(_fixture.Create>()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -93,7 +93,7 @@ public void Should_Query_ReleaseItem() ContentstackResponse response = _stack.Release(_releaseUID).Item().GetAll(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -102,7 +102,7 @@ public async System.Threading.Tasks.Task Should_Query_Release_Async() ContentstackResponse response = await _stack.Release(_releaseUID).Item().GetAllAsync(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -111,7 +111,7 @@ public void Should_Delete_ReleaseItem() ContentstackResponse response = _stack.Release(_releaseUID).Item().Delete(_fixture.Create>()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -120,7 +120,7 @@ public async System.Threading.Tasks.Task Should_Delete_Release_Async() ContentstackResponse response = await _stack.Release(_releaseUID).Item().DeleteAsync(_fixture.Create>()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } } } diff --git a/Contentstack.Management.Core.Unit.Tests/Models/ReleaseTest.cs b/Contentstack.Management.Core.Unit.Tests/Models/ReleaseTest.cs index a0e42dc..70f3fc3 100644 --- a/Contentstack.Management.Core.Unit.Tests/Models/ReleaseTest.cs +++ b/Contentstack.Management.Core.Unit.Tests/Models/ReleaseTest.cs @@ -32,16 +32,16 @@ public void Initialize_Release() Assert.IsNull(release.Uid); Assert.AreEqual("/releases", release.resourcePath); - Assert.ThrowsException(() => release.Fetch()); - Assert.ThrowsExceptionAsync(() => release.FetchAsync()); - Assert.ThrowsException(() => release.Update(_fixture.Create())); - Assert.ThrowsExceptionAsync(() => release.UpdateAsync(_fixture.Create())); - Assert.ThrowsException(() => release.Delete()); - Assert.ThrowsExceptionAsync(() => release.DeleteAsync()); - Assert.ThrowsException(() => release.Deploy(_fixture.Create())); - Assert.ThrowsExceptionAsync(() => release.DeployAsync(_fixture.Create())); - Assert.ThrowsException(() => release.Clone(_fixture.Create(), _fixture.Create())); - Assert.ThrowsExceptionAsync(() => release.CloneAsync(_fixture.Create(), _fixture.Create())); + Assert.ThrowsException(() => release.Fetch()); + Assert.ThrowsExceptionAsync(() => release.FetchAsync()); + Assert.ThrowsException(() => release.Update(_fixture.Create())); + Assert.ThrowsExceptionAsync(() => release.UpdateAsync(_fixture.Create())); + Assert.ThrowsException(() => release.Delete()); + Assert.ThrowsExceptionAsync(() => release.DeleteAsync()); + Assert.ThrowsException(() => release.Deploy(_fixture.Create())); + Assert.ThrowsExceptionAsync(() => release.DeployAsync(_fixture.Create())); + Assert.ThrowsException(() => release.Clone(_fixture.Create(), _fixture.Create())); + Assert.ThrowsExceptionAsync(() => release.CloneAsync(_fixture.Create(), _fixture.Create())); Assert.AreEqual(release.Query().GetType(), typeof(Query)); } @@ -75,7 +75,7 @@ public void Should_Create_Release() ContentstackResponse response = _stack.Release().Create(_fixture.Create()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -84,7 +84,7 @@ public async System.Threading.Tasks.Task Should_Create_Release_Async() ContentstackResponse response = await _stack.Release().CreateAsync(_fixture.Create()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -93,7 +93,7 @@ public void Should_Query_Release() ContentstackResponse response = _stack.Release().Query().Find(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -102,7 +102,7 @@ public async System.Threading.Tasks.Task Should_Query_Release_Async() ContentstackResponse response = await _stack.Release().Query().FindAsync(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -111,7 +111,7 @@ public void Should_Fetch_Release() ContentstackResponse response = _stack.Release(_fixture.Create()).Fetch(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -120,7 +120,7 @@ public async System.Threading.Tasks.Task Should_Find_Release_Async() ContentstackResponse response = await _stack.Release(_fixture.Create()).FetchAsync(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -129,7 +129,7 @@ public void Should_Update_Release() ContentstackResponse response = _stack.Release(_fixture.Create()).Update(_fixture.Create()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -138,7 +138,7 @@ public async System.Threading.Tasks.Task Should_Update_Release_Async() ContentstackResponse response = await _stack.Release(_fixture.Create()).UpdateAsync(_fixture.Create()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -147,7 +147,7 @@ public void Should_Delete_Release() ContentstackResponse response = _stack.Release(_fixture.Create()).Delete(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -156,7 +156,7 @@ public async System.Threading.Tasks.Task Should_Delete_Release_Async() ContentstackResponse response = await _stack.Release(_fixture.Create()).DeleteAsync(); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -166,7 +166,7 @@ public void Initialize_Release_Clone() ContentstackResponse response = _stack.Release(_fixture.Create()).Clone(code, null); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -176,7 +176,7 @@ public async System.Threading.Tasks.Task Initialize_Release_Clone_Async() ContentstackResponse response = await _stack.Release(_fixture.Create()).CloneAsync(code, null); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -185,7 +185,7 @@ public void Should_Deploy_Release() ContentstackResponse response = _stack.Release(_fixture.Create()).Deploy(_fixture.Create()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -194,7 +194,7 @@ public async System.Threading.Tasks.Task Should_Deploy_Release_Async() ContentstackResponse response = await _stack.Release(_fixture.Create()).DeployAsync(_fixture.Create()); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -205,7 +205,7 @@ public void Should_Create_Release_With_ParameterCollection() ContentstackResponse response = _stack.Release().Create(_fixture.Create(), parameters); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -216,7 +216,7 @@ public async System.Threading.Tasks.Task Should_Create_Release_With_ParameterCol ContentstackResponse response = await _stack.Release().CreateAsync(_fixture.Create(), parameters); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -227,7 +227,7 @@ public void Should_Update_Release_With_ParameterCollection() ContentstackResponse response = _stack.Release(_fixture.Create()).Update(_fixture.Create(), parameters); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -238,21 +238,21 @@ public async System.Threading.Tasks.Task Should_Update_Release_With_ParameterCol ContentstackResponse response = await _stack.Release(_fixture.Create()).UpdateAsync(_fixture.Create(), parameters); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] public void Should_Throw_Exception_Deploy_Without_Uid() { Release release = new Release(_stack); - Assert.ThrowsException(() => release.Deploy(_fixture.Create())); + Assert.ThrowsException(() => release.Deploy(_fixture.Create())); } [TestMethod] public async System.Threading.Tasks.Task Should_Throw_Exception_Deploy_Without_Uid_Async() { Release release = new Release(_stack); - await Assert.ThrowsExceptionAsync(() => release.DeployAsync(_fixture.Create())); + await Assert.ThrowsExceptionAsync(() => release.DeployAsync(_fixture.Create())); } [TestMethod] @@ -279,7 +279,7 @@ public void Should_Accept_Clone_Whitespace_Name() ContentstackResponse response = release.Clone(" ", whitespaceDescription); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -292,7 +292,7 @@ public async System.Threading.Tasks.Task Should_Accept_Clone_Whitespace_Name_Asy ContentstackResponse response = await release.CloneAsync(" ", whitespaceDescription); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -303,7 +303,7 @@ public void Should_Clone_Release_With_Description() ContentstackResponse response = _stack.Release(_fixture.Create()).Clone(name, description); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -314,7 +314,7 @@ public async System.Threading.Tasks.Task Should_Clone_Release_With_Description_A ContentstackResponse response = await _stack.Release(_fixture.Create()).CloneAsync(name, description); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -324,7 +324,7 @@ public void Should_Clone_Release_Without_Description() ContentstackResponse response = _stack.Release(_fixture.Create()).Clone(name, null); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -334,7 +334,7 @@ public async System.Threading.Tasks.Task Should_Clone_Release_Without_Descriptio ContentstackResponse response = await _stack.Release(_fixture.Create()).CloneAsync(name, null); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -343,7 +343,7 @@ public void Should_Create_Release_With_Null_ParameterCollection() ContentstackResponse response = _stack.Release().Create(_fixture.Create(), null); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -352,7 +352,7 @@ public async System.Threading.Tasks.Task Should_Create_Release_With_Null_Paramet ContentstackResponse response = await _stack.Release().CreateAsync(_fixture.Create(), null); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -361,7 +361,7 @@ public void Should_Update_Release_With_Null_ParameterCollection() ContentstackResponse response = _stack.Release(_fixture.Create()).Update(_fixture.Create(), null); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] @@ -370,7 +370,7 @@ public async System.Threading.Tasks.Task Should_Update_Release_With_Null_Paramet ContentstackResponse response = await _stack.Release(_fixture.Create()).UpdateAsync(_fixture.Create(), null); Assert.AreEqual(_contentstackResponse.OpenResponse(), response.OpenResponse()); - Assert.AreEqual(_contentstackResponse.OpenJObjectResponse().ToString(), response.OpenJObjectResponse().ToString()); + Assert.AreEqual(_contentstackResponse.OpenJsonObjectResponse().ToJsonString(), response.OpenJsonObjectResponse().ToJsonString()); } [TestMethod] diff --git a/Contentstack.Management.Core.Unit.Tests/Models/WorkflowTest.cs b/Contentstack.Management.Core.Unit.Tests/Models/WorkflowTest.cs index eb4b312..d4daaf7 100644 --- a/Contentstack.Management.Core.Unit.Tests/Models/WorkflowTest.cs +++ b/Contentstack.Management.Core.Unit.Tests/Models/WorkflowTest.cs @@ -29,12 +29,12 @@ public void Initialize_Workflow() Assert.IsNull(workflow.Uid); Assert.AreEqual($"/workflows", workflow.resourcePath); - Assert.ThrowsException(() => workflow.Fetch()); - Assert.ThrowsExceptionAsync(() => workflow.FetchAsync()); - Assert.ThrowsException(() => workflow.Update(_fixture.Create())); - Assert.ThrowsExceptionAsync(() => workflow.UpdateAsync(_fixture.Create())); - Assert.ThrowsException(() => workflow.Delete()); - Assert.ThrowsExceptionAsync(() => workflow.DeleteAsync()); + Assert.ThrowsException(() => workflow.Fetch()); + Assert.ThrowsExceptionAsync(() => workflow.FetchAsync()); + Assert.ThrowsException(() => workflow.Update(_fixture.Create())); + Assert.ThrowsExceptionAsync(() => workflow.UpdateAsync(_fixture.Create())); + Assert.ThrowsException(() => workflow.Delete()); + Assert.ThrowsExceptionAsync(() => workflow.DeleteAsync()); Assert.AreEqual(workflow.PublishRule().GetType(), typeof(PublishRule)); } diff --git a/Contentstack.Management.Core/Models/PublishQueue.cs b/Contentstack.Management.Core/Models/PublishQueue.cs index 19157be..842529a 100644 --- a/Contentstack.Management.Core/Models/PublishQueue.cs +++ b/Contentstack.Management.Core/Models/PublishQueue.cs @@ -39,7 +39,7 @@ public virtual ContentstackResponse FindAll(ParameterCollection collection = nul stack.ThrowIfNotLoggedIn(); ThrowIfUidNotEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack, resourcePath, collection: collection); + var service = new FetchDeleteService(stack, resourcePath, collection: collection); return stack.client.InvokeSync(service); } @@ -60,7 +60,7 @@ public virtual Task FindAllAsync(ParameterCollection colle stack.ThrowIfNotLoggedIn(); ThrowIfUidNotEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack, resourcePath, collection: collection); + var service = new FetchDeleteService(stack, resourcePath, collection: collection); return stack.client.InvokeAsync(service); } @@ -81,7 +81,7 @@ public virtual ContentstackResponse Fetch(ParameterCollection collection = null) stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack, resourcePath, collection: collection); + var service = new FetchDeleteService(stack, resourcePath, collection: collection); return stack.client.InvokeSync(service); } @@ -102,7 +102,7 @@ public virtual Task FetchAsync(ParameterCollection collect stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack, resourcePath, collection: collection); + var service = new FetchDeleteService(stack, resourcePath, collection: collection); return stack.client.InvokeAsync(service); } @@ -122,7 +122,7 @@ public virtual ContentstackResponse Cancel(ParameterCollection collection = null stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack, $"{resourcePath}/unschedule", collection: collection); + var service = new FetchDeleteService(stack, $"{resourcePath}/unschedule", collection: collection); return stack.client.InvokeSync(service); } @@ -142,7 +142,7 @@ public virtual Task CancelAsync(ParameterCollection collec stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack, $"{resourcePath}/unschedule", collection: collection); + var service = new FetchDeleteService(stack, $"{resourcePath}/unschedule", collection: collection); return stack.client.InvokeAsync(service); } diff --git a/Contentstack.Management.Core/Models/PublishRule.cs b/Contentstack.Management.Core/Models/PublishRule.cs index 60dabac..b1a7bf2 100644 --- a/Contentstack.Management.Core/Models/PublishRule.cs +++ b/Contentstack.Management.Core/Models/PublishRule.cs @@ -28,7 +28,7 @@ public virtual ContentstackResponse FindAll(ParameterCollection collection = nul stack.ThrowIfNotLoggedIn(); ThrowIfUidNotEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack, resourcePath, collection: collection); + var service = new FetchDeleteService(stack, resourcePath, collection: collection); return stack.client.InvokeSync(service); } @@ -48,7 +48,7 @@ public virtual Task FindAllAsync(ParameterCollection colle stack.ThrowIfNotLoggedIn(); ThrowIfUidNotEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack, resourcePath, collection: collection); + var service = new FetchDeleteService(stack, resourcePath, collection: collection); return stack.client.InvokeAsync(service); } diff --git a/Contentstack.Management.Core/Models/PublishRuleModel.cs b/Contentstack.Management.Core/Models/PublishRuleModel.cs index 6b64049..028ec76 100644 --- a/Contentstack.Management.Core/Models/PublishRuleModel.cs +++ b/Contentstack.Management.Core/Models/PublishRuleModel.cs @@ -1,36 +1,34 @@ -using System.Collections.Generic; -using Newtonsoft.Json; +using System.Collections.Generic; +using System.Text.Json.Serialization; namespace Contentstack.Management.Core.Models { - [JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)] public class PublishRuleModel { - [JsonProperty(propertyName: "workflow")] + [JsonPropertyName("workflow")] public string? WorkflowUid { get; set; } - [JsonProperty(propertyName: "actions")] + [JsonPropertyName("actions")] public List? Actions { get; set; } - [JsonProperty(propertyName: "branches")] + [JsonPropertyName("branches")] public List? Branches { get; set; } - [JsonProperty(propertyName: "content_types")] + [JsonPropertyName("content_types")] public List? ContentTypes { get; set; } - [JsonProperty(propertyName: "locales")] + [JsonPropertyName("locales")] public List? Locales { get; set; } - [JsonProperty(propertyName: "environment")] + [JsonPropertyName("environment")] public string? Environment { get; set; } - [JsonProperty(propertyName: "approvers")] + [JsonPropertyName("approvers")] public Approvals? Approvers { get; set; } - [JsonProperty(propertyName: "workflow_stage")] + [JsonPropertyName("workflow_stage")] public string? WorkflowStageUid { get; set; } - [JsonProperty(propertyName: "disable_approver_publishing")] + [JsonPropertyName("disable_approver_publishing")] public bool DisableApproval { get; set; } = false; } - [JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)] public class Approvals { - [JsonProperty(propertyName: "users")] + [JsonPropertyName("users")] public List? Users { get; set; } - [JsonProperty(propertyName: "roles")] + [JsonPropertyName("roles")] public List? Roles { get; set; } } } diff --git a/Contentstack.Management.Core/Models/Release.cs b/Contentstack.Management.Core/Models/Release.cs index 0a3662f..025fbf7 100644 --- a/Contentstack.Management.Core/Models/Release.cs +++ b/Contentstack.Management.Core/Models/Release.cs @@ -196,7 +196,7 @@ public ContentstackResponse Deploy(DeployModel model) stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new CreateUpdateService(stack.client.serializer, stack, $"{resourcePath}/deploy", model, "release"); + var service = new CreateUpdateService(stack, $"{resourcePath}/deploy", model, "release"); return stack.client.InvokeSync(service); } @@ -217,7 +217,7 @@ public Task DeployAsync(DeployModel model) ThrowIfUidEmpty(); stack.ThrowIfNotLoggedIn(); - var service = new CreateUpdateService(stack.client.serializer, stack, $"{resourcePath}/deploy", model, "release"); + var service = new CreateUpdateService(stack, $"{resourcePath}/deploy", model, "release"); return stack.client.InvokeAsync, ContentstackResponse>(service); } @@ -249,7 +249,7 @@ public ContentstackResponse Clone(string name, string description) { model.Add("desctiption", description); } - var service = new CreateUpdateService>(stack.client.serializer, stack, $"{resourcePath}/clone", model, "release"); + var service = new CreateUpdateService>(stack, $"{resourcePath}/clone", model, "release"); return stack.client.InvokeSync(service); } @@ -280,7 +280,7 @@ public Task CloneAsync(string name, string description) { model.Add("desctiption", description); } - var service = new CreateUpdateService>(stack.client.serializer, stack, $"{resourcePath}/clone", model, "release"); + var service = new CreateUpdateService>(stack, $"{resourcePath}/clone", model, "release"); return stack.client.InvokeAsync>, ContentstackResponse>(service); } diff --git a/Contentstack.Management.Core/Models/ReleaseItem.cs b/Contentstack.Management.Core/Models/ReleaseItem.cs index a5b1c81..0b2e834 100644 --- a/Contentstack.Management.Core/Models/ReleaseItem.cs +++ b/Contentstack.Management.Core/Models/ReleaseItem.cs @@ -36,7 +36,7 @@ public ContentstackResponse GetAll(ParameterCollection parameters = null) stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new FetchDeleteService(stack.client.serializer, this.stack, resourcePath, collection: parameters); + var service = new FetchDeleteService(this.stack, resourcePath, collection: parameters); return stack.client.InvokeSync(service); } @@ -57,7 +57,7 @@ public Task GetAllAsync(ParameterCollection parameters = n stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new FetchDeleteService(stack.client.serializer, this.stack, resourcePath, collection: parameters); + var service = new FetchDeleteService(this.stack, resourcePath, collection: parameters); return stack.client.InvokeAsync(service); } @@ -80,7 +80,7 @@ public ContentstackResponse Create(ReleaseItemModel model, ParameterCollection c stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new CreateUpdateService(stack.client.serializer, stack, resourcePath, model, "item", collection: collection); + var service = new CreateUpdateService(stack, resourcePath, model, "item", collection: collection); return stack.client.InvokeSync(service); } @@ -102,7 +102,7 @@ public Task CreateAsync(ReleaseItemModel model, ParameterC ThrowIfUidEmpty(); stack.ThrowIfNotLoggedIn(); - var service = new CreateUpdateService(stack.client.serializer, stack, resourcePath, model, "item", collection: collection); + var service = new CreateUpdateService(stack, resourcePath, model, "item", collection: collection); return stack.client.InvokeAsync, ContentstackResponse>(service); } @@ -129,7 +129,7 @@ public ContentstackResponse CreateMultiple(List models, Parame stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new CreateUpdateService>(stack.client.serializer, stack, resourcePath, models, "items", collection: collection); + var service = new CreateUpdateService>(stack, resourcePath, models, "items", collection: collection); return stack.client.InvokeSync(service); } @@ -155,7 +155,7 @@ public Task CreateMultipleAsync(List mod ThrowIfUidEmpty(); stack.ThrowIfNotLoggedIn(); - var service = new CreateUpdateService>(stack.client.serializer, stack, resourcePath, model, "items", collection: collection); + var service = new CreateUpdateService>(stack, resourcePath, model, "items", collection: collection); return stack.client.InvokeAsync>, ContentstackResponse>(service); } @@ -178,7 +178,7 @@ public ContentstackResponse UpdateReleaseItem(List items) { stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new CreateUpdateService>(stack.client.serializer, stack, $"/releases/{releaseUID}/update_items", items, "items", "PUT"); + var service = new CreateUpdateService>(stack, $"/releases/{releaseUID}/update_items", items, "items", "PUT"); return stack.client.InvokeSync(service); } @@ -200,7 +200,7 @@ public Task UpdateReleaseItemAsync(List items) { stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new CreateUpdateService>(stack.client.serializer, stack, $"/releases/{releaseUID}/update_items", items, "items", "PUT"); + var service = new CreateUpdateService>(stack, $"/releases/{releaseUID}/update_items", items, "items", "PUT"); return stack.client.InvokeAsync>, ContentstackResponse>(service); } @@ -224,7 +224,7 @@ public ContentstackResponse Delete(List models, ParameterColle stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new DeleteService>(stack.client.serializer, stack, resourcePath, "items", models, collection); + var service = new DeleteService>(stack, resourcePath, "items", models, collection); return stack.client.InvokeSync(service); } @@ -248,7 +248,7 @@ public Task DeleteAsync(List models, Par stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new DeleteService>(stack.client.serializer, stack, resourcePath, "items", models, collection); + var service = new DeleteService>(stack, resourcePath, "items", models, collection); return stack.client.InvokeAsync>, ContentstackResponse>(service); } diff --git a/Contentstack.Management.Core/Models/ReleaseModel.cs b/Contentstack.Management.Core/Models/ReleaseModel.cs index 7bae018..0d81287 100644 --- a/Contentstack.Management.Core/Models/ReleaseModel.cs +++ b/Contentstack.Management.Core/Models/ReleaseModel.cs @@ -1,57 +1,52 @@ -using System.Collections.Generic; -using Newtonsoft.Json; +using System.Collections.Generic; +using System.Text.Json.Serialization; namespace Contentstack.Management.Core.Models { - [JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)] public class ReleaseModel { - [JsonProperty(propertyName: "name")] + [JsonPropertyName("name")] public string? Name { get; set; } - [JsonProperty(propertyName: "description")] + [JsonPropertyName("description")] public string? Description { get; set; } - [JsonProperty(propertyName: "locked")] + [JsonPropertyName("locked")] public bool Locked { get; set; } - [JsonProperty(propertyName: "archived")] + [JsonPropertyName("archived")] public bool Archived { get; set; } - } - [JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)] public class DeployModel { - [JsonProperty(propertyName: "environments")] + [JsonPropertyName("environments")] public List? Environments { get; set; } - [JsonProperty(propertyName: "locales")] + [JsonPropertyName("locales")] public List? Locales { get; set; } - [JsonProperty(propertyName: "scheduledAt")] + [JsonPropertyName("scheduledAt")] public string? ScheduledAt { get; set; } - [JsonProperty(propertyName: "action")] + [JsonPropertyName("action")] public string? Action { get; set; } - } - [JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)] public class ReleaseItemModel { - [JsonProperty(propertyName: "uid")] + [JsonPropertyName("uid")] public string? Uid { get; set; } - [JsonProperty(propertyName: "version")] + [JsonPropertyName("version")] public int Version { get; set; } - [JsonProperty(propertyName: "locale")] + [JsonPropertyName("locale")] public string? Locale { get; set; } - [JsonProperty(propertyName: "content_type_uid")] + [JsonPropertyName("content_type_uid")] public string? ContentTypeUID { get; set; } - [JsonProperty(propertyName: "action")] + [JsonPropertyName("action")] public string? Action { get; set; } } } diff --git a/Contentstack.Management.Core/Models/Stack.cs b/Contentstack.Management.Core/Models/Stack.cs index 21ddf63..1b28073 100644 --- a/Contentstack.Management.Core/Models/Stack.cs +++ b/Contentstack.Management.Core/Models/Stack.cs @@ -822,7 +822,6 @@ public Role Role(string uid = null) /// /// /// The - /* public Release Release(string uid = null) { ThrowIfNotLoggedIn(); @@ -830,7 +829,6 @@ public Release Release(string uid = null) return new Release(this, uid); } - */ /// @@ -845,7 +843,6 @@ public Release Release(string uid = null) /// /// /// The - /* public Workflow Workflow(string uid = null) { ThrowIfNotLoggedIn(); @@ -853,7 +850,6 @@ public Workflow Workflow(string uid = null) return new Workflow(this, uid); } - */ /// /// A displays the historical and current details of activities such as publish, unpublish, or delete that can be performed on entries and/or assets. @@ -868,7 +864,6 @@ public Workflow Workflow(string uid = null) /// /// /// The - /* public PublishQueue PublishQueue(string uid = null) { ThrowIfNotLoggedIn(); @@ -876,7 +871,6 @@ public PublishQueue PublishQueue(string uid = null) return new PublishQueue(this, uid); } - */ /// /// A a mechanism that sends real-time information to any third-party app or service to keep your application in sync with your Contentstack account. /// diff --git a/Contentstack.Management.Core/Models/Workflow.cs b/Contentstack.Management.Core/Models/Workflow.cs index 14a32d2..791553c 100644 --- a/Contentstack.Management.Core/Models/Workflow.cs +++ b/Contentstack.Management.Core/Models/Workflow.cs @@ -30,7 +30,7 @@ public virtual ContentstackResponse FindAll(ParameterCollection collection = nul stack.ThrowIfNotLoggedIn(); ThrowIfUidNotEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack,resourcePath, collection: collection); + var service = new FetchDeleteService(stack, resourcePath, collection: collection); return stack.client.InvokeSync(service); } @@ -50,7 +50,7 @@ public virtual Task FindAllAsync(ParameterCollection colle stack.ThrowIfNotLoggedIn(); ThrowIfUidNotEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack,resourcePath, collection: collection); + var service = new FetchDeleteService(stack, resourcePath, collection: collection); return stack.client.InvokeAsync(service); } @@ -197,7 +197,7 @@ public virtual ContentstackResponse Disable() stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack,$"{resourcePath}/disable"); + var service = new FetchDeleteService(stack, $"{resourcePath}/disable"); return stack.client.InvokeSync(service); } @@ -216,7 +216,7 @@ public virtual Task DisableAsync() stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack,$"{resourcePath}/disable"); + var service = new FetchDeleteService(stack, $"{resourcePath}/disable"); return stack.client.InvokeAsync(service); } @@ -235,7 +235,7 @@ public virtual ContentstackResponse Enable() stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack,$"{resourcePath}/enable"); + var service = new FetchDeleteService(stack, $"{resourcePath}/enable"); return stack.client.InvokeSync(service); } @@ -254,7 +254,7 @@ public virtual Task EnableAsync() stack.ThrowIfNotLoggedIn(); ThrowIfUidEmpty(); - var service = new FetchDeleteService(stack.client.serializer, stack,$"{resourcePath}/enable"); + var service = new FetchDeleteService(stack, $"{resourcePath}/enable"); return stack.client.InvokeAsync(service); } @@ -292,7 +292,7 @@ public virtual ContentstackResponse GetPublishRule(string contentType, Parameter throw new ArgumentNullException("contentType", CSConstants.ContentTypeRequired); } - var service = new FetchDeleteService(stack.client.serializer, stack,$"/workflows/content_type/{contentType}", collection: collection); + var service = new FetchDeleteService(stack, $"/workflows/content_type/{contentType}", collection: collection); return stack.client.InvokeSync(service); } @@ -313,7 +313,7 @@ public virtual Task GetPublishRuleAsync(string contentType { throw new ArgumentNullException("contentType", CSConstants.ContentTypeRequired); } - var service = new FetchDeleteService(stack.client.serializer, stack,$"/workflows/content_type/{contentType}", collection: collection); + var service = new FetchDeleteService(stack, $"/workflows/content_type/{contentType}", collection: collection); return stack.client.InvokeAsync(service); } } diff --git a/Contentstack.Management.Core/Services/DeleteReleaseItemService.cs b/Contentstack.Management.Core/Services/DeleteReleaseItemService.cs index 37a63c3..0f109e7 100644 --- a/Contentstack.Management.Core/Services/DeleteReleaseItemService.cs +++ b/Contentstack.Management.Core/Services/DeleteReleaseItemService.cs @@ -1,48 +1,34 @@ -using System; +using System; using System.Collections.Generic; -using System.Globalization; -using System.IO; -using Contentstack.Management.Core.Queryable; -using Newtonsoft.Json; +using System.Text.Json; using Contentstack.Management.Core.Utils; + namespace Contentstack.Management.Core.Services { internal class DeleteReleaseItemService : ContentstackService { - #region Internal internal List _items; - internal DeleteReleaseItemService(JsonSerializer serializer, Core.Models.Stack stack, string releaseUID, List items) - : base(serializer, stack: stack) + internal DeleteReleaseItemService(Core.Models.Stack stack, string releaseUID, List items, JsonSerializerOptions? stjOptions = null) + : base(stjOptions ?? stack?.client?.SerializerOptions ?? new JsonSerializerOptions(), stack: stack) { if (stack.APIKey == null) - { throw new ArgumentNullException("stack", CSConstants.MissingAPIKey); - } if (releaseUID == null) - { throw new ArgumentNullException("releaseUID", CSConstants.ReleaseUIDRequired); - } if (items == null) - { throw new ArgumentNullException("items", CSConstants.ReleaseItemsRequired); - } + this.ResourcePath = $"/releases/{releaseUID}/item"; this.HttpMethod = "DELETE"; _items = items; } - #endregion public override void ContentBody() { - using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture)) - { - JsonWriter writer = new JsonTextWriter(stringWriter); - - Serializer.Serialize(writer, _items); - string snippet = $"{{\"items\": {stringWriter.ToString()}}}"; - this.ByteContent = System.Text.Encoding.UTF8.GetBytes(snippet); - } + var requestData = new Dictionary { { "items", _items } }; + string jsonString = JsonSerializer.Serialize(requestData, SerializerOptions); + this.ByteContent = System.Text.Encoding.UTF8.GetBytes(jsonString); } } -} \ No newline at end of file +} diff --git a/Contentstack.Management.Core/contentstack.management.core.csproj b/Contentstack.Management.Core/contentstack.management.core.csproj index 9959fa9..2696b2a 100644 --- a/Contentstack.Management.Core/contentstack.management.core.csproj +++ b/Contentstack.Management.Core/contentstack.management.core.csproj @@ -87,10 +87,10 @@ - - - - + + + + @@ -98,7 +98,7 @@ - + @@ -113,7 +113,7 @@ - +