From 3063ed182cd0155522798bf427f87a8e060a9b6c Mon Sep 17 00:00:00 2001 From: Zeegaan <70372949+Zeegaan@users.noreply.github.com> Date: Wed, 18 Aug 2021 14:20:56 +0200 Subject: [PATCH 1/3] Implemented new Asserts --- .../CreatedPackagesRepositoryTests.cs | 69 ++++++++++++++----- .../Packaging/PackageInstallationTest.cs | 38 ++++++---- 2 files changed, 76 insertions(+), 31 deletions(-) diff --git a/src/Umbraco.Tests.Integration/Umbraco.Core/Packaging/CreatedPackagesRepositoryTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Core/Packaging/CreatedPackagesRepositoryTests.cs index 74d364256f..7673e2ca68 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Core/Packaging/CreatedPackagesRepositoryTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Core/Packaging/CreatedPackagesRepositoryTests.cs @@ -148,16 +148,34 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging Name = "test", }; bool result = PackageBuilder.SavePackage(def); - + //Update values and save def.Name = "updated"; + def.ContentNodeId = "test"; + def.Languages.Add("Danish"); + def.Languages.Add("English"); + def.Scripts.Add("TestScript1"); + def.Scripts.Add("TestScript2"); result = PackageBuilder.SavePackage(def); Assert.IsTrue(result); - // re-get def = PackageBuilder.GetById(def.Id); Assert.AreEqual("updated", def.Name); - - // TODO: There's a whole lot more assertions to be done + Assert.Multiple(() => + { + Assert.AreEqual("updated", def.Name); + Assert.AreEqual("test", def.ContentNodeId); + Assert.AreEqual(2, def.Languages.Count()); + Assert.AreEqual(2, def.Scripts.Count()); + Assert.AreEqual(0, def.DataTypes.Count()); + Assert.AreEqual(0, def.DictionaryItems.Count()); + Assert.AreEqual(0, def.DocumentTypes.Count()); + Assert.AreEqual(0, def.Macros.Count()); + Assert.AreEqual(0, def.MediaTypes.Count()); + Assert.AreEqual(0, def.MediaUdis.Count()); + Assert.AreEqual(0, def.PartialViews.Count()); + Assert.AreEqual(0, def.Stylesheets.Count()); + Assert.AreEqual(0, def.Templates.Count()); + }); } [Test] @@ -259,15 +277,24 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging using (FileStream packageZipStream = File.OpenRead(packageXmlPath)) using (ZipArchive zipArchive = PackageMigrationResource.GetPackageDataManifest(packageZipStream, out XDocument packageXml)) { - Assert.AreEqual("umbPackage", packageXml.Root.Name.ToString()); - Assert.IsNotNull(zipArchive.GetEntry("media/media/test-file.txt")); - - Assert.AreEqual( - $"", - packageXml.Element("umbPackage").Element("MediaItems").ToString(SaveOptions.DisableFormatting)); - - // TODO: There's a whole lot more assertions to be done - + string test = "test-file.txt"; + Assert.Multiple(() => + { + Assert.AreEqual("umbPackage", packageXml.Root.Name.ToString()); + Assert.IsNotNull(zipArchive.GetEntry("media/media/test-file.txt")); + Assert.IsNotNull(zipArchive.GetEntry("package.xml")); + Assert.AreEqual( + $"", + packageXml.Element("umbPackage").Element("MediaItems").ToString(SaveOptions.DisableFormatting)); + Assert.AreEqual(2, zipArchive.Entries.Count()); + Assert.AreEqual(ZipArchiveMode.Read, zipArchive.Mode); + Assert.IsNull(packageXml.DocumentType); + Assert.IsNull(packageXml.NextNode); + Assert.IsNull(packageXml.Parent); + Assert.IsNull(packageXml.PreviousNode); + Assert.AreEqual(test, zipArchive.Entries.Last().Name); + Assert.AreEqual(7, zipArchive.Entries.Last().Length); + }); } } @@ -297,12 +324,16 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging using (var packageXmlStream = File.OpenRead(packageXmlPath)) { var xml = XDocument.Load(packageXmlStream); - Assert.AreEqual("umbPackage", xml.Root.Name.ToString()); - - Assert.AreEqual($"", xml.Element("umbPackage").Element("Templates").ToString(SaveOptions.DisableFormatting)); - - // TODO: There's a whole lot more assertions to be done - + Assert.Multiple(() => + { + Assert.AreEqual("umbPackage", xml.Root.Name.ToString()); + Assert.AreEqual($"", xml.Element("umbPackage").Element("Templates").ToString(SaveOptions.DisableFormatting)); + Assert.AreEqual(xml.FirstNode, xml.LastNode); + Assert.IsNull(xml.DocumentType); + Assert.IsNull(xml.Parent); + Assert.IsNull(xml.NextNode); + Assert.IsNull(xml.PreviousNode); + }); } } } diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/PackageInstallationTest.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/PackageInstallationTest.cs index d0999a0abc..afbf4fa32c 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/PackageInstallationTest.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/PackageInstallationTest.cs @@ -32,9 +32,12 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Packaging var testPackageFile = new FileInfo(Path.Combine(HostingEnvironment.MapPathContentRoot("~/TestData/Packages"), DocumentTypePickerPackage)); using var fileStream = testPackageFile.OpenRead(); CompiledPackage package = PackageInstallation.ReadPackage(XDocument.Load(fileStream)); - Assert.IsNotNull(package); - Assert.AreEqual("Document Type Picker", package.Name); - Assert.AreEqual(1, package.DataTypes.Count()); + Assert.Multiple(() => + { + Assert.IsNotNull(package); + Assert.AreEqual("Document Type Picker", package.Name); + Assert.AreEqual(1, package.DataTypes.Count()); + }); } [Test] @@ -43,12 +46,15 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Packaging var testPackageFile = new FileInfo(Path.Combine(HostingEnvironment.MapPathContentRoot("~/TestData/Packages"), HelloPackage)); using var fileStream = testPackageFile.OpenRead(); CompiledPackage package = PackageInstallation.ReadPackage(XDocument.Load(fileStream)); - Assert.IsNotNull(package); - Assert.AreEqual("Hello", package.Name); - Assert.AreEqual(1, package.Documents.Count()); - Assert.AreEqual(1, package.DocumentTypes.Count()); - Assert.AreEqual(1, package.Templates.Count()); - Assert.AreEqual(1, package.DataTypes.Count()); + Assert.Multiple(() => + { + Assert.IsNotNull(package); + Assert.AreEqual("Hello", package.Name); + Assert.AreEqual(1, package.Documents.Count()); + Assert.AreEqual(1, package.DocumentTypes.Count()); + Assert.AreEqual(1, package.Templates.Count()); + Assert.AreEqual(1, package.DataTypes.Count()); + }); } [Test] @@ -66,9 +72,17 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Packaging using var fileStream = File.OpenRead(packageFile); CompiledPackage package = PackageInstallation.ReadPackage(XDocument.Load(fileStream)); InstallWarnings preInstallWarnings = package.Warnings; - Assert.IsNotNull(preInstallWarnings); - - // TODO: More Asserts + var dataType = package.DataTypes.First(); + Assert.Multiple(() => + { + Assert.AreEqual("Document Type Picker", package.Name); + Assert.AreEqual("3593d8e7-8b35-47b9-beda-5e830ca8c93c", dataType.LastAttribute.Value); + Assert.AreEqual("Document Type Picker", dataType.FirstAttribute.Value); + Assert.IsNotNull(preInstallWarnings); + Assert.AreEqual(0, preInstallWarnings.ConflictingMacros.Count()); + Assert.AreEqual(0, preInstallWarnings.ConflictingStylesheets.Count()); + Assert.AreEqual(0, preInstallWarnings.ConflictingTemplates.Count()); + }); } [Test] From 7247a3759f5c5c30bea15cfd134c19ff84c27b91 Mon Sep 17 00:00:00 2001 From: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com> Date: Wed, 18 Aug 2021 15:35:48 +0200 Subject: [PATCH 2/3] Update src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/PackageInstallationTest.cs Co-authored-by: Mole --- .../Packaging/PackageInstallationTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/PackageInstallationTest.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/PackageInstallationTest.cs index afbf4fa32c..ee19cd081c 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/PackageInstallationTest.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/PackageInstallationTest.cs @@ -76,8 +76,8 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Packaging Assert.Multiple(() => { Assert.AreEqual("Document Type Picker", package.Name); - Assert.AreEqual("3593d8e7-8b35-47b9-beda-5e830ca8c93c", dataType.LastAttribute.Value); - Assert.AreEqual("Document Type Picker", dataType.FirstAttribute.Value); + Assert.AreEqual("3593d8e7-8b35-47b9-beda-5e830ca8c93c", dataType.LastAttribute?.Value); + Assert.AreEqual("Document Type Picker", dataType.FirstAttribute?.Value); Assert.IsNotNull(preInstallWarnings); Assert.AreEqual(0, preInstallWarnings.ConflictingMacros.Count()); Assert.AreEqual(0, preInstallWarnings.ConflictingStylesheets.Count()); From 7239c2c942ffe35ccd953ad974e77c952b501765 Mon Sep 17 00:00:00 2001 From: Zeegaan <70372949+Zeegaan@users.noreply.github.com> Date: Wed, 18 Aug 2021 15:45:33 +0200 Subject: [PATCH 3/3] Fixed tests with review comments --- .../Packaging/CreatedPackagesRepositoryTests.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Tests.Integration/Umbraco.Core/Packaging/CreatedPackagesRepositoryTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Core/Packaging/CreatedPackagesRepositoryTests.cs index 7673e2ca68..b1f3fbf847 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Core/Packaging/CreatedPackagesRepositoryTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Core/Packaging/CreatedPackagesRepositoryTests.cs @@ -280,8 +280,10 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging string test = "test-file.txt"; Assert.Multiple(() => { + var mediaEntry = zipArchive.GetEntry("media/media/test-file.txt"); Assert.AreEqual("umbPackage", packageXml.Root.Name.ToString()); - Assert.IsNotNull(zipArchive.GetEntry("media/media/test-file.txt")); + Assert.IsNotNull(mediaEntry); + Assert.AreEqual(test, mediaEntry.Name); Assert.IsNotNull(zipArchive.GetEntry("package.xml")); Assert.AreEqual( $"", @@ -292,8 +294,6 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging Assert.IsNull(packageXml.NextNode); Assert.IsNull(packageXml.Parent); Assert.IsNull(packageXml.PreviousNode); - Assert.AreEqual(test, zipArchive.Entries.Last().Name); - Assert.AreEqual(7, zipArchive.Entries.Last().Length); }); } } @@ -328,7 +328,6 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging { Assert.AreEqual("umbPackage", xml.Root.Name.ToString()); Assert.AreEqual($"", xml.Element("umbPackage").Element("Templates").ToString(SaveOptions.DisableFormatting)); - Assert.AreEqual(xml.FirstNode, xml.LastNode); Assert.IsNull(xml.DocumentType); Assert.IsNull(xml.Parent); Assert.IsNull(xml.NextNode);