コード例 #1
0
        static List <ServerLogFileInfo> GetServerLogFileInfo()
        {
            CsvToObjectMapper <ServerLogFileInfo> mapper = new CsvToObjectMapper <ServerLogFileInfo> ();


            mapper.AddMap((t) => t.FileId, "ID");
            mapper.AddMap(t => t.FileName, "Name");
            List <ServerLogFileInfo> result = new List <ServerLogFileInfo>();

            try
            {
                var readCsv = new CsvToObjectReader <ServerLogFileInfo>(
                    Parameters.FilePath, new FileService(), mapper, LoggerFactory);
                PrintHelper.WriteToConsoleAndLog("CsvToObjectReader instance constructed", true, false);
                var res = readCsv.Read(out IList <ErrorCodeAndDescription> errorsOccured, out bool parseStatus);
                ValidateAndLogExtractedList("ServerLogFileInfo", Parameters.FilePath, parseStatus, readCsv.ErrorsOccured, readCsv.ExtractFailedRows, res?.Count());
                return(res?.ToList());
            }
            catch (CsvReadWriteException csvException)
            {
                PrintHelper.WriteToConsoleAndLog($"{csvException.ErrorCode}\n{csvException.Message}\n{csvException.StackTrace}", true, false);
                PrintHelper.WriteToConsoleAndLog($"{csvException.ErrorCode}\n{csvException.Message}\nCheck Log for more details", false, true);
            }
            catch (Exception ex)
            {
                PrintHelper.WriteToConsoleAndLog($"{ex.Message}\n{ex.StackTrace}", true, false);
                PrintHelper.WriteToConsoleAndLog($"{ex.Message}\nCheck Log for more details", true, true);
            }

            return(null);
        }
コード例 #2
0
        private List <ServerLogFileInfo> GetServerLogFileInfoList()
        {
            string path = TestHelpers.GetPathToTestDataFolder("InputFiles");

            _csvToObjectMapperFileInfo = new CsvToObjectMapper <ServerLogFileInfo>();
            _csvToObjectMapperFileInfo.AddMap((t) => t.FileId, "ID");
            _csvToObjectMapperFileInfo.AddMap(t => t.FileName, "Name");

            _readerLogInfo = new CsvToObjectReader <ServerLogFileInfo>($@"{path}\Files_6_rows_sample.csv", _fileServiceReal, _csvToObjectMapperFileInfo, _loggerFactoryCsvReaderMock);
            return(_readerLogInfo.Read().ToList());
        }
コード例 #3
0
        private List <ServerLogFactInfo> GetServerLogFactInfoList()
        {
            string path = TestHelpers.GetPathToTestDataFolder("InputFiles");

            _csvToObjectMapperFactInfo = new CsvToObjectMapper <ServerLogFactInfo>();
            _csvToObjectMapperFactInfo.AddMap(t => t.FileId, "FileID");
            _csvToObjectMapperFactInfo.AddMap(t => t.SizeInBytes, "SizeInBytes");
            _csvToObjectMapperFactInfo.AddMap(t => t.TimeStamp, "Timestamp");
            _readerLogFactInfo = new CsvToObjectReader <ServerLogFactInfo>(
                path + @"\FileStats_18_rows_sample_3_files.csv", new FileService(), _csvToObjectMapperFactInfo, _loggerFactoryCsvReaderMock);
            return(_readerLogFactInfo.Read().ToList());
        }
コード例 #4
0
        public void CheckPreValidations()
        {
            _readerLogInfo = new CsvToObjectReader <ServerLogFileInfo>(null, null, null, _loggerFactoryCsvReaderMock);
            bool preExtractValidation = _readerLogInfo.PreExtractValidation();

            preExtractValidation.Should().Be(false, " all the mandatory supplied parameters were not supplied");
            _readerLogInfo.ErrorsOccured.Count.Should().BeGreaterThan(0, "at least one error should be recorded");
            _readerLogInfo.ErrorsOccured.Any(errors => errors.ErrorCode == ErrorCodes.NullPath).Should()
            .Be(true, "we passed null parameters");
            _readerLogInfo.ErrorsOccured.Any(errors => errors.ErrorDescription == "Please supply the file content or provide the path to the file in constructor argument").Should()
            .Be(true, "we passed null parameters");
            _readerLogInfo.ErrorsOccured.Any(errors => errors.ErrorDescription == @"Constructor parameter '_mapper' cannot be null").Should()
            .Be(true, "we haven't passed mapper instance to constructor");
        }
コード例 #5
0
        public void InvalidPathShouldNotbeAccepted()
        {
            _readerLogInfo = new CsvToObjectReader <ServerLogFileInfo>($@"X:\InvalidFolder\InvalidFile.csv", new FileService(), null, _loggerFactoryCsvReaderMock);
            bool preExtractValidation = _readerLogInfo.PreExtractValidation();

            preExtractValidation.Should().Be(false, "Invalid Path was supplied");
            _readerLogInfo.ErrorsOccured.Count.Should().BeGreaterThan(0, "at least one error should be recorded");
            _readerLogInfo.ErrorsOccured.Any(errors => errors.ErrorDescription == @"X:\InvalidFolder\InvalidFile.csv  does not exists").Should()
            .Be(true, "we passed Invalid file path as constructor parameter");


            _readerLogInfo       = new CsvToObjectReader <ServerLogFileInfo>($@"X:\InvalidFolder\InvalidFile.pdf", new FileService(), null, _loggerFactoryCsvReaderMock);
            preExtractValidation = _readerLogInfo.PreExtractValidation();
            _readerLogInfo.ErrorsOccured.Any(errors => errors.ErrorDescription.Contains(@"Invalid file extension")).Should()
            .Be(true, "we passed Invalid file extension");
        }