Ejemplo n.º 1
0
        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)"
                    }
                }
            });
        }
Ejemplo n.º 2
0
        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"
                    }
                }
            });
        }
Ejemplo n.º 3
0
        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)"
                    }
                }
            });
        }
Ejemplo n.º 4
0
        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}"
                    }
                }
            });
        }
Ejemplo n.º 5
0
        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)"
                    }
                }
            });
        }
Ejemplo n.º 6
0
        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)"
                    }
                }
            });
        }
Ejemplo n.º 7
0
        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)"
                    }
                }
            });
        }
Ejemplo n.º 8
0
 public AcceptanceTestCase(AcceptanceTestTarget target)
 {
     Target = target;
 }