Exemple #1
0
        public void Should_Run_Global_Tool_First_If_PreferGlobalTool_And_Fallback_To_Local_Tool()
        {
            var fixture = new MinVerToolFixture(_log)
            {
                Settings = { PreferGlobalTool = true },
            };

            fixture.GivenGlobalToolFailsToRun();

            var result = fixture.Run();

            fixture.GlobalTool.ShouldHaveRunOnce();
            fixture.LocalTool.ShouldHaveRunOnce();

            fixture.GlobalTool.ShouldHaveRunFirst();
            fixture.LocalTool.ShouldHaveRunSecond();

            result.Version.Should().Be(MinVerToolOutputs.DefaultVersionForLocalTool);
        }
Exemple #2
0
        public void Should_Not_Fallback_If_ToolPath_Is_Set()
        {
            var fixture = new MinVerToolFixture(_log);

            fixture.GivenLocalToolIsNotInstalled();
            fixture.GivenGlobalToolIsNotInstalled();

            var customToolExePath = fixture.DefaultToolPath.GetDirectory().CombineWithFilePath("customLocation/custom.exe");

            fixture.FileSystem.CreateFile(customToolExePath);

            fixture.Settings.ToolPath = customToolExePath;

            fixture.GivenGlobalToolFailsToRun();

            fixture.Invoking(f => f.Run())
            .Should().ThrowExactly <CakeException>()
            .And.Message.Should().StartWith("MinVer: Process returned an error (exit code 1)");

            fixture.GlobalTool.ShouldHaveRunOnce();
            fixture.LocalTool.ShouldNotHaveRun();
        }