Skip to content

Commit

Permalink
Remove Newtonsoft.Json from tests (#16029)
Browse files Browse the repository at this point in the history
  • Loading branch information
ronaldbarendse authored Apr 10, 2024
1 parent 1c79980 commit 1c5e273
Show file tree
Hide file tree
Showing 26 changed files with 74 additions and 91 deletions.
1 change: 0 additions & 1 deletion tests/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,5 @@
<PackageVersion Include="Moq" Version="4.18.4" />
<PackageVersion Include="NUnit" Version="3.14.0" />
<PackageVersion Include="NUnit3TestAdapter" Version="4.5.0" PrivateAssets="all" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
</Project>
1 change: 0 additions & 1 deletion tests/Umbraco.Tests.Common/Umbraco.Tests.Common.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
<PackageReference Include="Moq" />
<PackageReference Include="AutoFixture.NUnit3" />
<PackageReference Include="NUnit" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
using System.Text.Json.Nodes;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using NUnit.Framework;
using Umbraco.Cms.Api.Management;
using Umbraco.Cms.Api.Management.Controllers.Install;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Hosting;
using Umbraco.Cms.Persistence.EFCore.Composition;
using Umbraco.Cms.Tests.Integration.TestServerTest;
using Umbraco.Cms.Web.Common.ApplicationBuilder;

Expand Down Expand Up @@ -47,23 +44,20 @@ public async Task Validate_OpenApi_Contract_is_implemented()

var urlToContract = $"{officePath}/management/api/openapi.json";
var swaggerPath = $"{officePath}/swagger/management/swagger.json";
var apiContract = JObject.Parse(await Client.GetStringAsync(urlToContract));
var apiContract = JsonNode.Parse(await Client.GetStringAsync(urlToContract)).AsObject();

var generatedJsonString = await Client.GetStringAsync(swaggerPath);
var mergedContract = JObject.Parse(generatedJsonString);
var originalGeneratedContract = JObject.Parse(generatedJsonString);
var mergedContract = JsonNode.Parse(generatedJsonString).AsObject();
var originalGeneratedContract = JsonNode.Parse(generatedJsonString).AsObject();

mergedContract.Merge(apiContract, new JsonMergeSettings
{
MergeArrayHandling = MergeArrayHandling.Merge
});
mergedContract.MergeLeft(apiContract);

foreach (var key in keysToIgnore)
{
originalGeneratedContract.Remove(key);
mergedContract.Remove(key);
}

Assert.AreEqual(originalGeneratedContract.ToString(Formatting.Indented), mergedContract.ToString(Formatting.Indented), $"Generated API do not respect the contract.");
Assert.AreEqual(originalGeneratedContract.ToJsonString(), mergedContract.ToJsonString(), $"Generated API do not respect the contract.");
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
using System.Collections.Generic;
using System.Linq;
using Bogus;
using Examine;
using Lucene.Net.Util;
using Newtonsoft.Json;
using NUnit.Framework;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Infrastructure.Examine;
using Umbraco.Cms.Tests.Common.Attributes;
using Umbraco.Cms.Tests.Common.Builders;
using Umbraco.Cms.Tests.Common.Testing;
using Umbraco.Extensions;
using Constants = Umbraco.Cms.Core.Constants;

namespace Umbraco.Cms.Tests.Integration.Umbraco.Examine.Lucene.UmbracoExamine;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.

using System.Linq;
using Newtonsoft.Json;
using System.Text.Json;
using NUnit.Framework;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Models;
Expand All @@ -12,7 +11,6 @@
using Umbraco.Cms.Tests.Common.Builders;
using Umbraco.Cms.Tests.Common.Testing;
using Umbraco.Cms.Tests.Integration.Testing;
using Umbraco.Extensions;

namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Services;

Expand Down Expand Up @@ -83,7 +81,7 @@ public void TagApiConsistencyTest()
// get it back
content1 = ContentService.GetById(content1.Id);
var tagsValue = content1.GetValue("tags").ToString();
var tagsValues = JsonConvert.DeserializeObject<string[]>(tagsValue);
var tagsValues = JsonSerializer.Deserialize<string[]>(tagsValue);
Assert.AreEqual(3, tagsValues.Length);
Assert.Contains("pig", tagsValues);
Assert.Contains("goat", tagsValues);
Expand Down
22 changes: 11 additions & 11 deletions tests/Umbraco.Tests.UnitTests/Umbraco.Core/Cache/RefresherTests.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.

using Newtonsoft.Json;
using System.Text.Json;
using NUnit.Framework;
using Umbraco.Cms.Core.Cache;
using Umbraco.Cms.Core.Services.Changes;
Expand All @@ -19,8 +19,8 @@ public void MediaCacheRefresherCanDeserializeJsonPayload()
new MediaCacheRefresher.JsonPayload(1234, Guid.NewGuid(), TreeChangeTypes.None),
};

var json = JsonConvert.SerializeObject(source);
var payload = JsonConvert.DeserializeObject<MediaCacheRefresher.JsonPayload[]>(json);
var json = JsonSerializer.Serialize(source);
var payload = JsonSerializer.Deserialize<MediaCacheRefresher.JsonPayload[]>(json);

Assert.AreEqual(source[0].Id, payload[0].Id);
Assert.AreEqual(source[0].Key, payload[0].Key);
Expand All @@ -40,8 +40,8 @@ public void ContentCacheRefresherCanDeserializeJsonPayload()
}
};

var json = JsonConvert.SerializeObject(source);
var payload = JsonConvert.DeserializeObject<ContentCacheRefresher.JsonPayload[]>(json);
var json = JsonSerializer.Serialize(source);
var payload = JsonSerializer.Deserialize<ContentCacheRefresher.JsonPayload[]>(json);

Assert.AreEqual(source[0].Id, payload[0].Id);
Assert.AreEqual(source[0].Key, payload[0].Key);
Expand All @@ -57,8 +57,8 @@ public void ContentTypeCacheRefresherCanDeserializeJsonPayload()
new ContentTypeCacheRefresher.JsonPayload("xxx", 1234, ContentTypeChangeTypes.None),
};

var json = JsonConvert.SerializeObject(source);
var payload = JsonConvert.DeserializeObject<ContentTypeCacheRefresher.JsonPayload[]>(json);
var json = JsonSerializer.Serialize(source);
var payload = JsonSerializer.Deserialize<ContentTypeCacheRefresher.JsonPayload[]>(json);

Assert.AreEqual(source[0].ItemType, payload[0].ItemType);
Assert.AreEqual(source[0].Id, payload[0].Id);
Expand All @@ -73,8 +73,8 @@ public void DataTypeCacheRefresherCanDeserializeJsonPayload()
new DataTypeCacheRefresher.JsonPayload(1234, Guid.NewGuid(), true),
};

var json = JsonConvert.SerializeObject(source);
var payload = JsonConvert.DeserializeObject<DataTypeCacheRefresher.JsonPayload[]>(json);
var json = JsonSerializer.Serialize(source);
var payload = JsonSerializer.Deserialize<DataTypeCacheRefresher.JsonPayload[]>(json);

Assert.AreEqual(source[0].Id, payload[0].Id);
Assert.AreEqual(source[0].Key, payload[0].Key);
Expand All @@ -89,8 +89,8 @@ public void DomainCacheRefresherCanDeserializeJsonPayload()
new DomainCacheRefresher.JsonPayload(1234, DomainChangeTypes.None)
};

var json = JsonConvert.SerializeObject(source);
var payload = JsonConvert.DeserializeObject<DomainCacheRefresher.JsonPayload[]>(json);
var json = JsonSerializer.Serialize(source);
var payload = JsonSerializer.Deserialize<DomainCacheRefresher.JsonPayload[]>(json);

Assert.AreEqual(source[0].Id, payload[0].Id);
Assert.AreEqual(source[0].ChangeType, payload[0].ChangeType);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.

using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Newtonsoft.Json;
using NUnit.Framework;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Deploy;
using Umbraco.Cms.Infrastructure.Serialization;

namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.CoreThings;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.

using Newtonsoft.Json;
using System.Text.Json;
using NUnit.Framework;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Deploy;
using Umbraco.Cms.Infrastructure.Serialization;

namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Deploy;

Expand All @@ -17,7 +18,14 @@ public void CanSerialize()
var udi = new GuidUdi("test", Guid.Parse("3382d5433b5749d08919bc9961422a1f"));
var artifact = new TestArtifact(udi, new List<ArtifactDependency>()) { Name = "Test Name", Alias = "testAlias" };

var serialized = JsonConvert.SerializeObject(artifact);
var serialized = JsonSerializer.Serialize(artifact, new JsonSerializerOptions()
{
Converters =
{
new JsonUdiConverter(),
new JsonGuidUdiConverter()
}
});

var expected =
"{\"Udi\":\"umb://test/3382d5433b5749d08919bc9961422a1f\",\"Dependencies\":[],\"Checksum\":\"test checksum value\",\"Name\":\"Test Name\",\"Alias\":\"testAlias\"}";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.

using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Threading;
using System.Text.Json;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using Newtonsoft.Json;
using NUnit.Framework;
using Umbraco.Cms.Core.Cache;
using Umbraco.Cms.Core.Logging;
Expand Down Expand Up @@ -503,7 +500,7 @@ public void Can_Serialize_Without_Error()
content.UpdateDate = DateTime.Now;
content.WriterId = 23;

var json = JsonConvert.SerializeObject(content);
var json = JsonSerializer.Serialize(content);
Debug.Print(json);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
// See LICENSE for more details.

using System.Diagnostics;
using System.Linq;
using Newtonsoft.Json;
using System.Text.Json;
using NUnit.Framework;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.Entities;
Expand Down Expand Up @@ -178,7 +177,7 @@ public void Can_Serialize_Content_Type_Without_Error()
// Arrange
var contentType = BuildContentType();

var json = JsonConvert.SerializeObject(contentType);
var json = JsonSerializer.Serialize(contentType);
Debug.Print(json);
}

Expand Down Expand Up @@ -241,7 +240,7 @@ public void Can_Serialize_Media_Type_Without_Error()
// Arrange
var contentType = BuildMediaType();

var json = JsonConvert.SerializeObject(contentType);
var json = JsonSerializer.Serialize(contentType);
Debug.Print(json);
}

Expand Down Expand Up @@ -304,7 +303,7 @@ public void Can_Serialize_Member_Type_Without_Error()
// Arrange
var contentType = BuildMemberType();

var json = JsonConvert.SerializeObject(contentType);
var json = JsonSerializer.Serialize(contentType);
Debug.Print(json);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.

using Newtonsoft.Json;
using System.Text.Json;
using NUnit.Framework;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Tests.Common.Builders;
Expand Down Expand Up @@ -57,7 +57,7 @@ public void Can_Serialize_Without_Error()
.WithRandomTranslations(2)
.Build();

Assert.DoesNotThrow(() => JsonConvert.SerializeObject(item));
Assert.DoesNotThrow(() => JsonSerializer.Serialize(item));
}

[TestCase("en-AU", "en-AU value")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
// See LICENSE for more details.

using System.Diagnostics;
using System.Linq;
using Newtonsoft.Json;
using System.Text.Json;
using NUnit.Framework;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Tests.Common.Builders;
Expand Down Expand Up @@ -48,7 +47,7 @@ public void Can_Serialize_Without_Error()
{
var item = BuildDictionaryTranslation();

var json = JsonConvert.SerializeObject(item);
var json = JsonSerializer.Serialize(item);
Debug.Print(json);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// See LICENSE for more details.

using System.Diagnostics;
using Newtonsoft.Json;
using System.Text.Json;
using NUnit.Framework;
using Umbraco.Cms.Tests.Common.Builders;
using Umbraco.Cms.Tests.Common.Builders.Extensions;
Expand Down Expand Up @@ -38,7 +38,7 @@ public void Can_Serialize_Without_Error()
.Done()
.Build();

var json = JsonConvert.SerializeObject(item);
var json = JsonSerializer.Serialize(item);
Debug.Print(json);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.

using Newtonsoft.Json;
using System.Text.Json;
using System.Text.Json.Serialization;
using NUnit.Framework;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Tests.Common.Builders;
Expand Down Expand Up @@ -47,6 +48,10 @@ public void Can_Serialize_Without_Error()
{
var item = _builder.Build();

Assert.DoesNotThrow(() => JsonConvert.SerializeObject(item));
Assert.DoesNotThrow(() => JsonSerializer.Serialize(item, new JsonSerializerOptions()
{
// Ignore CultureInfo reference
ReferenceHandler = ReferenceHandler.IgnoreCycles
}));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// See LICENSE for more details.

using System.Diagnostics;
using Newtonsoft.Json;
using System.Text.Json;
using NUnit.Framework;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Tests.Common.Builders;
Expand Down Expand Up @@ -52,7 +52,7 @@ public void Can_Serialize_Without_Error()
{
var group = BuildMemberGroup();

var json = JsonConvert.SerializeObject(group);
var json = JsonSerializer.Serialize(group);
Debug.Print(json);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
// See LICENSE for more details.

using System.Diagnostics;
using System.Linq;
using Newtonsoft.Json;
using System.Text.Json;
using NUnit.Framework;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Tests.Common.Builders;
Expand Down Expand Up @@ -79,7 +78,7 @@ public void Can_Serialize_Without_Error()
{
var member = BuildMember();

var json = JsonConvert.SerializeObject(member);
var json = JsonSerializer.Serialize(member);
Debug.Print(json);
}

Expand Down
Loading

0 comments on commit 1c5e273

Please sign in to comment.