Esempio n. 1
0
        private static CentralinoLines ReadFromCentralino(CentralinoReader centralinoReader, ILog log, CentralinoConfiguration centralinoConfiguration)
        {
            log.Info($"Starting to read lines from centralino {centralinoConfiguration.Host}:{centralinoConfiguration.Port}");
            var task = centralinoReader.ReadAllLines();

            task.Wait();
            CentralinoLines allLines = task.Result;

            log.Info($"Read {allLines.Lines.Length} lines from centralino {centralinoConfiguration.Host}:{centralinoConfiguration.Port}");
            return(allLines);
        }
Esempio n. 2
0
        public async Task GIVEN_ARunningCentralinoServer_ICan_ReadAllTheLines()
        {
            const int port = 2300;

            using Task <OpenCentralinoMock> centralino = new CentralinoMockServer(Host, port, _serverSourceFile).StartServer();

            var reader = new CentralinoReader(new CentralinoConfiguration(Host, port, "SMDR", "SMDR"));

            var readLinesTask = reader.ReadAllLines(); readLinesTask.Wait();
            var actualLines   = readLinesTask.Result;

            Assert.Equal(CentralinoLines.Parse(_expectedLines), actualLines);

            await centralino;
        }
Esempio n. 3
0
        public async Task GIVEN_ARunningCentralinoServer_IWant_ToLimit_TheNumberOfLinesThatIRead()
        {
            const int port = 2400;

            using Task <OpenCentralinoMock> centralino = new CentralinoMockServer(Host, port, _serverSourceFile).StartServer();

            var reader = new CentralinoReader(new CentralinoConfiguration(Host, port, "SMDR", "SMDR"));

            var readLinesTask = reader.ReadLines(2); readLinesTask.Wait();
            var actualLines   = readLinesTask.Result;
            var expected      = CentralinoLines.Parse(_expectedLines.Take(2).ToArray());

            Assert.Equal(expected, actualLines);

            await centralino;
        }
Esempio n. 4
0
        private static void WriteIntoTheStorage(ILog log, CentralinoConfiguration centralinoConfiguration, CentralinoLines allLines)
        {
            log.Info($"Starting to write all lines on storage {centralinoConfiguration.DbConfiguration.ConnectionString}");

            (IEnumerable <Seq <Error> > errors, IEnumerable <ICentralinoLine> lines) = allLines.Lines.Partition();

            DbSerializer dbSerializer = DbSerializer.From(centralinoConfiguration);

            dbSerializer.WriteAll(lines);

            foreach (Seq <Error> error in errors)
            {
                log.Warn(ErrorToString(error));
            }
            log.Info($"End of writing to the storage {centralinoConfiguration.DbConfiguration.ConnectionString}");
        }