示例#1
0
            public void NamedTaskShouldHaveCorrectName()
            {
                var anyString = this.Fixture.Create <string>();
                var task      = new FakeTask(anyString);

                Assert.Equal(anyString, task.Name);
            }
        public void ReadPackages_ActiveRepositoryChangedWhichUsesInvalidUrl_InvalidUrlExceptionIsShownAsErrorMessage()
        {
            CreateExceptionThrowingRegisteredPackageRepositories();
            CreateViewModel(exceptionThrowingRegisteredPackageRepositories);
            exceptionThrowingRegisteredPackageRepositories.ActivePackageSource = new PackageSource("test");
            var package = new FakePackage("Test", "0.1.0.0");

            exceptionThrowingRegisteredPackageRepositories
            .FakeActiveRepository
            .FakePackages
            .Add(package);
            viewModel.ReadPackages();
            CompleteReadPackagesTask();
            taskFactory.ClearAllFakeTasks();
            exceptionThrowingRegisteredPackageRepositories.ExceptionToThrowWhenActiveRepositoryAccessed =
                new Exception("Invalid url");

            viewModel.ReadPackages();
            FakeTask <PackagesForSelectedPageResult> task = taskFactory.FirstFakeTaskCreated;
            ApplicationException ex = Assert.Throws <ApplicationException> (() => task.ExecuteTaskButNotContinueWith());

            task.Exception = new AggregateException(ex);
            task.IsFaulted = true;
            task.ExecuteContinueWith();

            Assert.AreEqual("Invalid url", ex.Message);
            Assert.IsTrue(viewModel.HasError);
            Assert.AreEqual("Invalid url", viewModel.ErrorMessage);
        }
示例#3
0
            public void TwoTasksShouldNotHaveTheSameDefaultName(ITask task2)
            {
                "And another task"
                ._(() => task2 = new FakeTask());

                "Then the task names should not be the same"
                ._(() => this.task.Name.Should().NotBe(task2.Name));
            }
            public static object GetTargets(IParameters parameters) {
                var one = new FakeTask {Dependencies = new [] {new TaskDependency (parameters.Required<int>("port"))}};
                var two = new FakeTask {Dependencies = new [] {new TaskDependency (parameters.Default("name", "Some Web Site"))}};

                return new {
                    One = one,
                    Two = two,
                };
            }
        public void RunInANewThreadTheAction()
        {
            FakeTask fakeTask = new FakeTask();
            Assert.AreEqual(TaskState.Waiting, fakeTask.State);

            fakeTask.DoActionInNewThread();
            Assert.AreEqual(TaskState.Running, fakeTask.State);

            while (fakeTask.Worker.IsBusy){}
            Assert.IsTrue(fakeTask.doActionCalled);
        }
示例#6
0
        public void PopulateFromConfigurationUsingOnlyRequiredElementsAndCheckDefaultValues()
        {
            var          task = new FakeTask();
            const string xml  = "<fake />";

            NetReflector.Read(xml, task);
            Assert.AreEqual(FakeTask.defaultExecutable, task.Executable);
            Assert.AreEqual(string.Empty, task.ConfiguredBaseDirectory);
            Assert.AreEqual(string.Empty, task.BuildFile);
            Assert.AreEqual(null, task.Description);
        }
示例#7
0
            public static object GetTargets(IParameters parameters)
            {
                var one = new FakeTask {
                    Dependencies = new [] { new TaskDependency(parameters.Required <int>("port")) }
                };
                var two = new FakeTask {
                    Dependencies = new [] { new TaskDependency(parameters.Default("name", "Some Web Site")) }
                };

                return(new {
                    One = one,
                    Two = two,
                });
            }
示例#8
0
        public void ShouldFailIfProcessTimesOut()
        {
            ExecutorShouldTimeOut(executor);

            var task = new FakeTask(executor);

            var result = IntegrationResultMother.CreateUnknown();

            task.Run(result);

            mocks.VerifyAll();
            Assert.That(result.Status, Is.EqualTo(IntegrationStatus.Failure));
            Assert.That(result.TaskOutput, Does.Match("Command line '.*' timed out after \\d+ seconds"));
        }
示例#9
0
        /// <summary>
        /// Initializes a new instance of the CompositeTaskFacts class.
        /// </summary>
        public CompositeTaskFacts()
        {
            this.tasks = new ITask[TaskCount];

            for (int i = 0; i < TaskCount; ++i)
            {
                var task = new FakeTask();

                task.ExecuteFunction = this.TaskCounterFunction;
                task.VerifyFunction  = this.TaskCounterFunction;

                this.tasks[i] = task;
            }
        }
示例#10
0
        public void ExecuteRunsFakeWithDefaults()
        {
            var workingDir  = Path.Combine(DefaultWorkingDirectory, "WorkingDir");
            var artefactDir = Path.Combine(DefaultWorkingDirectoryWithSpaces, "ArtifactsDir");
            var buildFile   = Path.Combine(DefaultWorkingDirectory, "ccnet.fsx");

            var result = GenerateResultMock(workingDir, artefactDir);
            var task   = new FakeTask(executor);

            task.BuildFile = buildFile;
            SetupExecutorMock(executor, "FAKE.exe", string.Concat(StringUtil.AutoDoubleQuoteString(buildFile), " ", "logfile=", StringUtil.AutoDoubleQuoteString(Path.Combine(artefactDir, string.Format(FakeTask.logFilename, task.LogFileId)))), workingDir, 600000);
            Mock.Get(result).SetupProperty(_result => _result.Status);

            result.Status = IntegrationStatus.Unknown;
            task.Run(result);
            mocks.Verify();
        }
示例#11
0
        public void PopulateFromReflector()
        {
            var          task = new FakeTask();
            const string xml  = @"
    <fake>
        <executable>C:\FAKE.exe</executable>
        <baseDirectory>C:\</baseDirectory>
		<buildFile>mybuild.fx</buildFile>
		<description>Test description</description>
    </fake>";

            NetReflector.Read(xml, task);
            Assert.AreEqual(@"C:\FAKE.exe", task.Executable);
            Assert.AreEqual(@"C:\", task.ConfiguredBaseDirectory);
            Assert.AreEqual("mybuild.fx", task.BuildFile);
            Assert.AreEqual("Test description", task.Description);
        }
示例#12
0
        private static void Main()
        {
            FakeTask t1 = new FakeTask(5000);
            FakeTask t2 = new FakeTask(1000);
            FakeTask t3 = new FakeTask(2500);

            Tuple <int, IProgress>[] tasks
                = new[]
                {
                new Tuple <int, IProgress>(10, t1),
                new Tuple <int, IProgress>(2, t2),
                new Tuple <int, IProgress>(5, t3)
                };

            Console.WriteLine("Serial:");
            RunTasks(tasks, true);
            Console.WriteLine();

            Console.WriteLine("Parallel:");
            RunTasks(tasks, false);
        }