Esempio n. 1
0
        public void ProjectNameShoudBeLastArgumentToMsBuild()
        {
            var properties = new MsBuildProperties
            {
                Project            = "the-project-name.csproj",
                ArbitraryArguments = new[] { "/arbArgument1", "/argArgument2" }
            };

            _msBuildRunner.Run(properties);

            _processRunner.Received()
            .RunProcess(Arg.Is <ProcessProperties>(pp => pp.Arguments.Last().Equals("the-project-name.csproj")));
        }
Esempio n. 2
0
        public async Task GenerateCallsProcessRunner()
        {
            var args = "generated arguments";

            _argumentGenerator.GenerateArguments(Arg.Any <FFmpegJob>()).Returns(args);

            await _imageGenerator.Generate(_transcodeJob);

            await _processRunner.Received(_imageCount).Run(_ffmpegFileName, args, _timeout);
        }
        public async Task DetectRunsProcess()
        {
            string arguments = "generated";

            _argumentGenerator.GenerateArguments(Arg.Any <FFmpegJob>()).Returns(arguments);

            await _detector.Detect(_mediaInfo);

            await _processRunner.Received().Run(_ffmpegFileName, arguments, _timeout);
        }
 public void RestoreDatabase_MongoConnection_RunRestoreWithArguments(
     string dumpDirectory,
     [Frozen] IMongoPathsProvider mongoPathsProvider,
     [Frozen] IProcessRunner processRunner,
     [Greedy] MongoRestoreService sut)
 {
     //Arrange
     mongoPathsProvider.GetDumpDirectory(Arg.Is("analytics")).Returns(dumpDirectory);
     //Act
     sut.RestoreDatabase("analytics");
     //Assert
     processRunner.Received(1).Run(Arg.Any <string>(), Arg.Is <string>(x => x.Contains("--host localhost:27017") && x.Contains("--db habitat_local_analytics") && x.Contains("--dir ")));
 }
 public void RestoreDatabase_MongoConnection_RunRestoreProcessFile(
     string mongoRestorePath,
     [Frozen] IMongoPathsProvider mongoPathsProvider,
     [Frozen] IProcessRunner processRunner,
     [Greedy] MongoRestoreService sut)
 {
     //Arrange
     mongoPathsProvider.MongoRestoreExe.Returns(mongoRestorePath);
     //Act
     sut.RestoreDatabase("analytics");
     //Assert
     processRunner.Received(1).Run(mongoPathsProvider.MongoRestoreExe, Arg.Any <string>());
 }
Esempio n. 6
0
            public void ShouldBuildEmptyCommand([Frozen] IProcess process,
                                                [Frozen] IProcessRunner processRunner,
                                                [Frozen] IFileSystem fileSystem, ChutzpahRunner sut)
            {
                process.GetExitCode().Returns(0);
                fileSystem.Exist(Arg.Any <FilePath>()).Returns(true);

                sut.Run();

                processRunner.Received(1)
                .Start(Arg.Any <FilePath>(),
                       Arg.Is <ProcessSettings>(p => p.Arguments.Render() == string.Empty));
            }
Esempio n. 7
0
            public void ShouldBuildCommandWithTestFilePath([Frozen] IProcess process,
                                                           [Frozen] IProcessRunner processRunner,
                                                           [Frozen] IFileSystem fileSystem, ChutzpahRunner sut)
            {
                process.GetExitCode().Returns(0);
                fileSystem.Exist(Arg.Any <FilePath>()).Returns(true);

                sut.Run((FilePath)"mytests.js");

                processRunner.Received(1)
                .Start(Arg.Any <FilePath>(),
                       Arg.Is <ProcessSettings>(p => p.Arguments.Render() == "mytests.js"));
            }
Esempio n. 8
0
            public void ShouldSetWorkingDirectory([Frozen] ICakeEnvironment environment,
                                                  [Frozen] IProcess process,
                                                  [Frozen] IProcessRunner processRunner,
                                                  [Frozen] IFileSystem fileSystem, ChutzpahRunner sut)
            {
                environment.WorkingDirectory.Returns("/Working");
                fileSystem.Exist(Arg.Any <FilePath>()).Returns(true);
                process.GetExitCode().Returns(0);

                sut.Run();

                processRunner.Received(1)
                .Start(Arg.Any <FilePath>(),
                       Arg.Is <ProcessSettings>(ps => ps.WorkingDirectory.FullPath == "/Working"));
            }
Esempio n. 9
0
            public void ShouldOpenInNonDefaultBrowser([Frozen] IProcess process,
                                                      [Frozen] IProcessRunner processRunner,
                                                      [Frozen] IFileSystem fileSystem, ChutzpahRunner sut)
            {
                process.GetExitCode().Returns(0);
                fileSystem.Exist(Arg.Any <FilePath>()).Returns(true);

                var settings = new ChutzpahSettings
                {
                    LaunchInBrowser = ChutzpahBrowser.Chrome
                };

                sut.Run(settings: settings);

                processRunner.Received(1)
                .Start(Arg.Any <FilePath>(),
                       Arg.Is <ProcessSettings>(
                           p => p.Arguments.Render() == "/openInBrowser Chrome"));
            }
Esempio n. 10
0
            public void ShouldUseProvidedSettings([Frozen] IProcess process,
                                                  [Frozen] IProcessRunner processRunner,
                                                  [Frozen] IFileSystem fileSystem, ChutzpahRunner sut)
            {
                process.GetExitCode().Returns(0);
                fileSystem.Exist(Arg.Any <FilePath>()).Returns(true);

                var settings = new ChutzpahSettings
                {
                    NoLogo = true,
                    EnableCoverageCollection = true,
                    FailOnError                = true,
                    ForceTeamCityMode          = true,
                    CoverageHtmlOutputFile     = @"c:\temp\Code Coverage\coverage.html",
                    LaunchInBrowser            = ChutzpahBrowser.DefaultBrowser,
                    JUnitXmlResultsFile        = "junitResults.xml",
                    LcovResultsFile            = "lcov.dat",
                    VisualStudioTrxResultsFile = "testResults.trx",
                    NUnit2XmlResultsFile       = "nunit.xml",
                    MaxParallelism             = 1,
                    OutputRunningTestCount     = false,
                    PrintDebugInfo             = true,
                    Trace               = true,
                    ShowFailureReport   = true,
                    AdditionalTestPaths = { (FilePath)"testfile.js", (DirectoryPath)"tests" }
                };

                sut.Run(settings: settings);

                processRunner.Received(1)
                .Start(Arg.Any <FilePath>(),
                       Arg.Is <ProcessSettings>(
                           p =>
                           p.Arguments.Render() ==
                           "/nologo /coverage /failOnError /teamcity /coveragehtml " +
                           "\"c:/temp/Code Coverage/coverage.html\" /openInBrowser " +
                           "/junit \"junitResults.xml\" /lcov \"lcov.dat\" /trx \"testResults.trx\" " +
                           "/nunit2 \"nunit.xml\" /parallelism 1 /silent /debug /trace " +
                           "/showFailureReport /path \"testfile.js\" /path \"tests\""));
            }
        public void RestoreDatabases_Call_RestoreAllDumps(
            [Frozen] IMongoPathsProvider mongoPathsProvider,
            [Frozen] IProcessRunner processRunner,
            [Greedy] MongoRestoreService sut
            )
        {
            //Arrange
            var dumpNames = new List <string>()
            {
                "analytics", "tracking.live", "tracking.history", "tracking.contact"
            };
            var dbNames = new List <string>()
            {
                "habitat_local_analytics", "habitat_local_tracking_live", "habitat_local_tracking_history", "habitat_local_tracking_contact"
            };

            mongoPathsProvider.GetDumpNames().Returns(dumpNames);

            //Act
            sut.RestoreDatabases();
            //Assert
            dbNames.ForEach(db => processRunner.Received().Run(Arg.Any <string>(), Arg.Is <string>(arg => arg.Contains($"--db {db}"))));
        }