public void AllPatchedAndLinked_UnLinkNonLeaf_UnlinkedPatchesNotReflected(AcceptanceTestTarget target) { target.LogName(); ExecuteTestCase(new AcceptanceTestCase(target) { Given = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.PatchedBuiltAndLinked), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.PatchedBuiltAndLinked) } }, When = () => { ExecNuLinkIn( target.ConsumerSolutionFolder, "unlink", "-p", target.PackageId("NuLink.TestCase.FirstPackage")); }, Then = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.Original), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.Linked) }, ExpectedValues = { ["ClassOneShouldUseLocallyLinkedPackage"] = "FIRST-CLASS-ORIGINAL", ["ClassTwoShouldUseLocallyLinkedPackage"] = "SECOND-CLASS-SYMLINKED(FIRST-CLASS-ORIGINAL)" } } }); }
public void NotLinked_PrintOK(AcceptanceTestTarget target) { target.LogName(); ExecuteTestCase(new AcceptanceTestCase(target) { Given = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.Original), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.Original) } }, When = () => { ExecNuLinkIn( Path.Combine(target.ConsumerSolutionFolder, "NuLink.TestCase.ConsumerLib"), "status", "-q"); }, Then = { ExpectedNuLinkOutput = new[] { $"{target.PackageId("NuLink.TestCase.FirstPackage")} 0.1.0 ok", $"{target.PackageId("NuLink.TestCase.SecondPackage")} 0.2.0 ok" } } }); }
public void AllPatchedAndLinked_DoNotUnLink_AllPatchesReflected(AcceptanceTestTarget target) { target.LogName(); ExecuteTestCase(new AcceptanceTestCase(target) { Given = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.PatchedBuiltAndLinked), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.PatchedBuiltAndLinked) } }, Then = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.Linked), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.Linked) }, ExpectedValues = { ["ClassOneShouldUseLocallyLinkedPackage"] = "FIRST-CLASS-SYMLINKED", ["ClassTwoShouldUseLocallyLinkedPackage"] = "SECOND-CLASS-SYMLINKED(FIRST-CLASS-SYMLINKED)" } } }); }
public void Linked_PrintLinkTargetPath(AcceptanceTestTarget target) { target.LogName(); var secondPackageTargetPath = Path.Combine( target.PackageProjectFolder(target.PackageId("NuLink.TestCase.SecondPackage")), "bin", "Debug"); ExecuteTestCase(new AcceptanceTestCase(target) { Given = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.Original), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.PatchedBuiltAndLinked) } }, When = () => { ExecNuLinkIn( Path.Combine(target.ConsumerSolutionFolder, "NuLink.TestCase.ConsumerLib"), "status", "-q"); }, Then = { ExpectedNuLinkOutput = new[] { $"{target.PackageId("NuLink.TestCase.FirstPackage")} 0.1.0 ok", $"{target.PackageId("NuLink.TestCase.SecondPackage")} 0.2.0 ok -> {secondPackageTargetPath}" } } }); }
public void DoNotPatch_DoNotLink_PatchesNotReflected(AcceptanceTestTarget target) { target.LogName(); ExecuteTestCase(new AcceptanceTestCase(target) { Given = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.Original), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.Original) } }, Then = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.Original), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.Original) }, ExpectedValues = { ["ClassOneShouldUseLocallyLinkedPackage"] = "FIRST-CLASS-ORIGINAL", ["ClassTwoShouldUseLocallyLinkedPackage"] = "SECOND-CLASS-ORIGINAL(FIRST-CLASS-ORIGINAL)" } } }); }
public void PatchAndLinkAll_DotNetRestore_AllLinksSurvived(AcceptanceTestTarget target) { target.LogName(); ExecuteTestCase(new AcceptanceTestCase(target) { Given = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.PatchedBuiltAndLinked), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.PatchedBuiltAndLinked) } }, When = () => { target.RestoreSolutionPackagesIn(target.ConsumerSolutionFolder); }, Then = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.Linked), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.Linked) }, ExpectedValues = { ["ClassOneShouldUseLocallyLinkedPackage"] = "FIRST-CLASS-SYMLINKED", ["ClassTwoShouldUseLocallyLinkedPackage"] = "SECOND-CLASS-SYMLINKED(FIRST-CLASS-SYMLINKED)" } } }); }
public void PatchAll_LinkAll_AllPatchesReflected(AcceptanceTestTarget target) { target.LogName(); ExecuteTestCase(new AcceptanceTestCase(target) { Given = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.PatchedAndBuilt), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.PatchedAndBuilt) } }, When = () => { ExecNuLinkIn( target.ConsumerSolutionFolder, "link", "-p", target.PackageId("NuLink.TestCase.FirstPackage"), "-l", target.PackageProjectFile(target.PackageId("NuLink.TestCase.FirstPackage"))); ExecNuLinkIn( target.ConsumerSolutionFolder, "link", "-p", target.PackageId("NuLink.TestCase.SecondPackage"), "-l", target.PackageProjectFile(target.PackageId("NuLink.TestCase.SecondPackage"))); }, Then = { Packages = { ["NuLink.TestCase.FirstPackage"] = new PackageEntry("0.1.0", PackageStates.Linked), ["NuLink.TestCase.SecondPackage"] = new PackageEntry("0.2.0", PackageStates.Linked) }, ExpectedValues = { ["ClassOneShouldUseLocallyLinkedPackage"] = "FIRST-CLASS-SYMLINKED", ["ClassTwoShouldUseLocallyLinkedPackage"] = "SECOND-CLASS-SYMLINKED(FIRST-CLASS-SYMLINKED)" } } }); }
public AcceptanceTestCase(AcceptanceTestTarget target) { Target = target; }