Example #1
0
        public void Should_Execute_Tasks()
        {
            // Given
            var fixture = new CakeHostBuilderFixture();

            fixture.RegisterDefaultTask();
            fixture.UseExecutionStrategySubstitute();

            // When
            fixture.Run();

            // Then
            fixture.Strategy.Received(1).Execute(Arg.Is <CakeTask>(t => t.Name == "DummyTask"), Arg.Any <ICakeContext>());
        }
        public void Should_Not_Call_Teardown_On_Registered_Task_Lifetime_If_Not_Overridden()
        {
            // Given
            var fixture = new CakeHostBuilderFixture();

            fixture.RegisterDefaultTask();
            fixture.RegisterTaskLifetimeSubstitute(new FakeTaskLifetime.WithoutOverrides());
            fixture.UseExecutionStrategySubstitute();

            // When
            fixture.Run();

            // Then
            fixture.Strategy.Received(0).PerformTaskTeardown(
                Arg.Any <Action <ITaskTeardownContext> >(),
                Arg.Any <ITaskTeardownContext>());
        }
Example #3
0
        public void Should_Throw_If_Dependency_Is_Not_A_Valid_Task()
        {
            // Given
            var fixture = new CakeHostBuilderFixture();

            fixture.RegisterTask <InvalidDependencyTask>();
            fixture.UseExecutionStrategySubstitute();
            fixture.Options.Target = "InvalidDependencyTask";

            // When
            var result = fixture.Run();

            // Then
            Assert.Equal(1, result);
            fixture.Log.Received(1).Write(
                Verbosity.Quiet, LogLevel.Error,
                "Error: {0}", "The dependency DateTime does not implement IFrostingTask.");
        }
Example #4
0
        public void Should_Execute_Tasks_In_Correct_Order()
        {
            // Given
            var fixture = new CakeHostBuilderFixture();

            fixture.RegisterTask <BuildTask>();
            fixture.RegisterTask <CleanTask>();
            fixture.RegisterTask <UnitTestsTask>();
            fixture.UseExecutionStrategySubstitute();
            fixture.Options.Target = "Run-Unit-Tests";

            // When
            fixture.Run();

            // Then
            Received.InOrder(() =>
            {
                fixture.Strategy.Execute(Arg.Is <CakeTask>(t => t.Name == "Clean"), Arg.Any <ICakeContext>());
                fixture.Strategy.Execute(Arg.Is <CakeTask>(t => t.Name == "Build"), Arg.Any <ICakeContext>());
                fixture.Strategy.Execute(Arg.Is <CakeTask>(t => t.Name == "Run-Unit-Tests"), Arg.Any <ICakeContext>());
            });
        }