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"))); }
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>()); }
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)); }
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")); }
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")); }
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")); }
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}")))); }