public void ConsoleCommandShouldCorrectlyProcessWithNoCommandExecutor() { var mainTestDir = TestDirectories.GetMainLibLoadTestDir(); var xmlFileDto = new FileDto(mainTestDir, ".\\XmlCmdFiles\\CmdFile002.xml"); if (!FileHelper.IsFileDtoValid(xmlFileDto) || !xmlFileDto.FileXinfo.Exists) { Assert.IsTrue(false); } var cmdExeDto = TestDirectories.GetConsoleExecutorDto(); cmdExeDto.XmlCmdFileDto = xmlFileDto; var builder = new XmlParameterBuilder(cmdExeDto); var jobGroup = builder.BuildParmsFromXml(); var job = jobGroup.Jobs[0]; Assert.IsNotNull(job); var expectedProcFile = "npm"; var expectedProcArgs = "install --save-dev gulp-jshint gulp-jscs jshint-stylish"; Assert.IsTrue(job.ProcFileNameCommand == expectedProcFile); Assert.IsTrue(job.ProcFileArguments == expectedProcArgs); }
public void T004_XmlCmdFileShouldParseHeaderSuccessfully() { var cmdExeDto = TestDirectories.GetConsoleExecutorDto(); var builder = new XmlParameterBuilder(cmdExeDto); builder.BuildParmsFromXml(); var expectedDirDto = new DirectoryDto(TestDirectories.GetTestExeDir().DirInfo.FullName + "\\installLog"); var dirDto = new DirectoryDto(cmdExeDto.DefaultCommandOutputLogFilePathName); Assert.IsTrue(cmdExeDto.AppLogRetentionInDays == 0); Assert.IsTrue(dirDto.DirInfo.FullName == expectedDirDto.DirInfo.FullName); }
public void T002_XmlCmdFileShouldParseSuccessfully() { var cmdExeDto = TestDirectories.GetConsoleExecutorDto(); var builder = new XmlParameterBuilder(cmdExeDto); var jobGroup = builder.BuildParmsFromXml(); Assert.IsNotNull(jobGroup); Assert.IsTrue(jobGroup.Jobs.Count == 3); Assert.IsTrue(jobGroup.Jobs[0].CommandDisplayName== "jshint and jscs"); Assert.IsTrue(jobGroup.Jobs[2].CommandDisplayName == "gulp plumber"); }
public void ConsoleCommandShouldInitializeCorrectly() { var cmdExeDto = TestDirectories.GetConsoleExecutorDto(); var builder = new XmlParameterBuilder(cmdExeDto); var jobGroup = builder.BuildParmsFromXml(); var job = jobGroup.Jobs[0]; Assert.IsNotNull(job); var expectedProcFile = "cmd.exe"; var expectedProcArgs = "/c npm install --save-dev gulp-jshint gulp-jscs jshint-stylish"; Assert.IsTrue(job.ProcFileNameCommand == expectedProcFile); Assert.IsTrue(job.ProcFileArguments == expectedProcArgs); }
public void T003_XmlParserShouldParseExitCodeLimitsCorrectly() { var cmdExeDto = TestDirectories.GetConsoleExecutorDto(); var defaultUpperLimit = 99999; var defaultLowerLimit = -99999; Assert.IsTrue(cmdExeDto.DefaultKillJobsRunOnExitCodeGreaterThan == defaultUpperLimit); Assert.IsTrue(cmdExeDto.DefaultKillJobsRunOnExitCodeLessThan == defaultLowerLimit); var builder = new XmlParameterBuilder(cmdExeDto); var jobGroup = builder.BuildParmsFromXml(); Assert.IsNotNull(jobGroup); Assert.IsTrue(jobGroup.Jobs.Count == 3); Assert.IsTrue(jobGroup.Jobs[1].KillJobsRunOnExitCodeGreaterThan == 50); Assert.IsTrue(jobGroup.Jobs[1].KillJobsRunOnExitCodeLessThan == -50); Assert.IsTrue(jobGroup.Jobs[2].KillJobsRunOnExitCodeGreaterThan == defaultUpperLimit); Assert.IsTrue(jobGroup.Jobs[2].KillJobsRunOnExitCodeLessThan == defaultLowerLimit); }
private static bool ParseCommandJobsFromXml(ConsoleExecutorDto cmdExeDto, out JobsGroupDto jobsGroupDto) { jobsGroupDto = null; try { var xmlParser = new XmlParameterBuilder(cmdExeDto); jobsGroupDto = xmlParser.BuildParmsFromXml(); if (jobsGroupDto == null || jobsGroupDto.NumberOfJobs < 1) { var err = new FileOpsErrorMessageDto { DirectoryPath = string.Empty, ErrId = 35, ErrorMessage = "Zero jobs were extracted from the XmlCommands file!", ErrSourceMethod = "ParseCommandJobsFromXml()", FileName = string.Empty, LoggerLevel = LogLevel.FATAL }; cmdExeDto.ApplicationExitStatus.OpsError = _errorMgr.FormatErrorDto(err); cmdExeDto.ApplicationExitStatus.IsTerminateApp = true; cmdExeDto.ApplicationExitStatus.WriteExitConsoleMessage(); Environment.ExitCode = -3; return false; } } catch(Exception ex) { var err = new FileOpsErrorMessageDto { DirectoryPath = string.Empty, ErrId = 137, ErrorMessage = ex.Message, ErrSourceMethod = "ParseCommandJobsFromXml()", ErrException = ex, FileName = string.Empty, LoggerLevel = LogLevel.FATAL }; _errorMgr.LoggingStatus = ErrorLoggingStatus.On; _errorMgr.WriteErrorMsg(err); Environment.ExitCode = -3; cmdExeDto.ApplicationExitStatus.OpsError = _errorMgr.FormatErrorDto(err); cmdExeDto.ApplicationExitStatus.IsExceptionThrown = true; cmdExeDto.ApplicationExitStatus.WriteExitConsoleMessage(); return false; } return true; }