Beispiel #1
0
        private static void ExecuteConsoleCommands(JobsGroupDto cmdJobs, ConsoleExecutorDto cmdExeDto)
        {
            try
            {

                var mgr = new CommandExecutionMgr(cmdJobs,cmdExeDto);

                mgr.ExecuteCommands();
            }
            catch(Exception ex)
            {
                var err = new FileOpsErrorMessageDto
                {
                    DirectoryPath = string.Empty,
                    ErrId = 345,
                    ErrorMessage = "Command Job Execution Failed!",
                    ErrSourceMethod = "ExecuteConsoleCommands()",
                    ErrException = ex,
                    FileName = string.Empty,
                    LoggerLevel = LogLevel.FATAL
                };

                Environment.ExitCode = -4;
                _errorMgr.LoggingStatus = ErrorLoggingStatus.On;
                _errorMgr.WriteErrorMsg(err);
                cmdExeDto.ApplicationExitStatus.OpsError = _errorMgr.FormatErrorDto(err);
                cmdExeDto.ApplicationExitStatus.IsExceptionThrown = true;
                cmdExeDto.ApplicationExitStatus.WriteExitConsoleMessage();
            }
        }
        public void ShouldExecuteCommandsCorrectly()
        {
            var exeDir = TestDirectories.GetTestExeDir();

            var logDir = new DirectoryDto(exeDir.DirInfo.FullName + "\\logdir");
            DirectoryHelper.DeleteADirectory(logDir);
            var dirT3 = TestDirectories.GetTestDirectory003();
            FileHelper.DeleteAllFilesInDirectoryTree(dirT3);

            var consoleExeDto = new ConsoleExecutorDto
            {
                DefaultConsoleCommandExecutor = TestDirectories.GetConsoleCommandExecutor(),
                DefaultConsoleCommandExeArgs = TestDirectories.GetConsoleCommandExeArguments(),
                CmdConsoleLogFileErrorSuffix = "Error",
                CmdConsoleLogFileTimeStamp = DateHelper.NowYearMthDayHrsSecs(),
                CommandDefaultTimeOutInMinutes = 5.0M,
                CommandMaxTimeOutInMinutes = 45.0M,
                CommandMinTimeOutInMinutes = 1.0M,
                DefaultCommandOutputLogFilePathName = ".\\logdir\\installLog.log",
                XmlCmdFileDto = TestDirectories.GetXmlCmdTest002FileDto(),
                DefaultConsoleCommandType = ConsoleCommandType.Console
            };

            var jobs = TestDirectories.GetTestJobGroup();

            var cmdExeMgr = new CommandExecutionMgr(jobs,consoleExeDto);

            var result = cmdExeMgr.ExecuteCommands();

            Assert.IsTrue(result);

            var files = dirT3.DirInfo.GetFiles();

            FileHelper.DeleteAllFilesInDirectoryTree(dirT3);

            Assert.IsTrue(files.Length == 4);
        }