From 9df146268ccf787691c9fc7726c4a977be335204 Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Tue, 29 Jul 2014 09:18:20 +0200 Subject: [PATCH] Fix up tests dependent on a fixture whose package folder resolves --- test/ReleasePackageTests.cs | 31 +++++-------------- test/fixtures/Squirrel.Tests.0.1.0-pre.nupkg | Bin 0 -> 24639 bytes 2 files changed, 7 insertions(+), 24 deletions(-) create mode 100644 test/fixtures/Squirrel.Tests.0.1.0-pre.nupkg diff --git a/test/ReleasePackageTests.cs b/test/ReleasePackageTests.cs index 1c598ef2..1be0733d 100644 --- a/test/ReleasePackageTests.cs +++ b/test/ReleasePackageTests.cs @@ -19,9 +19,7 @@ namespace Squirrel.Tests.Core [Fact] public void ReleasePackageIntegrationTest() { - Assert.False(true, "Need to recreate the fixtures for this test"); - - var inputPackage = IntegrationTestHelper.GetPath("fixtures", "Squirrel.Core.1.0.0.0.nupkg"); + var inputPackage = IntegrationTestHelper.GetPath("fixtures", "Squirrel.Tests.0.1.0-pre.nupkg"); var outputPackage = Path.GetTempFileName() + ".nupkg"; var sourceDir = IntegrationTestHelper.GetPath("fixtures", "packages"); @@ -48,7 +46,7 @@ namespace Squirrel.Tests.Core .ToList(); files.Any(x => nonDesktopPaths.Any(y => x.Path.ToLowerInvariant().Contains(y.ToLowerInvariant()))).ShouldBeFalse(); - files.Any(x => x.Path.ToLowerInvariant().Contains(@".xml")).ShouldBeFalse(); + files.Any(x => x.Path.ToLowerInvariant().EndsWith(@".xml")).ShouldBeFalse(); } finally { File.Delete(outputPackage); } @@ -72,11 +70,7 @@ namespace Squirrel.Tests.Core [Fact] public void FindDependentPackagesForDummyPackage() { - // Find dependent packages for a package by looking in the - // 'packages' folder - Assert.False(true, "Need to fix the fixture"); - - var inputPackage = IntegrationTestHelper.GetPath("fixtures", "Squirrel.Core.1.0.0.0.nupkg"); + var inputPackage = IntegrationTestHelper.GetPath("fixtures", "Squirrel.Tests.0.1.0-pre.nupkg"); var fixture = new ReleasePackage(inputPackage); var sourceDir = IntegrationTestHelper.GetPath("fixtures", "packages"); (new DirectoryInfo(sourceDir)).Exists.ShouldBeTrue(); @@ -103,9 +97,7 @@ namespace Squirrel.Tests.Core [Fact] public void CanResolveMultipleLevelsOfDependencies() { - Assert.False(true, "Need to remake the fixture for this test"); - - var inputPackage = IntegrationTestHelper.GetPath("fixtures", "SampleUpdatingApp.1.0.0.0.nupkg"); + var inputPackage = IntegrationTestHelper.GetPath("fixtures", "Squirrel.Tests.0.1.0-pre.nupkg"); var outputPackage = Path.GetTempFileName() + ".nupkg"; var sourceDir = IntegrationTestHelper.GetPath("fixtures", "packages"); @@ -126,10 +118,9 @@ namespace Squirrel.Tests.Core pkg.GetFiles().ForEach(x => this.Log().Info(x.Path)); var filesToLookFor = new[] { - "System.Reactive.Core.dll", - "ReactiveUI.dll", - "MarkdownSharp.dll", - "SampleUpdatingApp.exe", + "xunit.assert.dll", // Tests => Xunit => Xunit.Assert + "NuGet.Core.dll", // Tests => NuGet + "Squirrel.Tests.dll", }; filesToLookFor.ForEach(name => { @@ -241,14 +232,6 @@ namespace Squirrel.Tests.Core } } - [Fact] - public void DependentPackageFoundAndIncludedInReleasePackage() - { - // Create a Release Package based on a package which has a dependency - // in the packages directory - Assert.False(true, "Rewrite this test"); - } - [Fact] public void DependentLocalPackageNotFoundAndThrowsError() { diff --git a/test/fixtures/Squirrel.Tests.0.1.0-pre.nupkg b/test/fixtures/Squirrel.Tests.0.1.0-pre.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..19266e55b44d4fab031b78ab9581088ae8678c61 GIT binary patch literal 24639 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

BMz<9YB$T{j@a@lOi+*9JdJ{;28Y3i>0g zr>7^kC;!jDH!w6GkDE;BH za<+7Lkl^`c$B#m5psN)G`Dg84N+o`W zwWWBuZ)EKo4H_uH^RHbJ_CRk>Cy2G{4~6CY{Z=61VCm|ne&cfAbZaf= zEv4c92RE2cXx1ehX5tPKzBEYr2{9Omito&kd-RX zThGZJ2$lr9J2;4||BKhAdkg|wJ9)a&Y3R`jaRazTZ%zw0uQ<2HLp?f0h@~U&W}NnP z0unrb8-v78S-5fddAK166DfbU~{C}d8 z|BUzlRLQM=8xxn?k1^e-`otVP(bKK1LC&~S9y7-q<{vSJWvT_67IOjJ@<=?cvVW0nDeE-<= zUx4_3?D!vM_c!7EkNNTZJRdiU;T9?v%Ad>OuSoshE&5-``rjJ