コード例 #1
0
        public void TestCsvFileWriter()
        {
            AbstractWriter abstractWriter = WritersFactory.GetWriter(src.Entities.ResultWriter.File);
            DateTime       endedAt        = DateTime.Now;
            DateTime       staetedAt      = endedAt - TimeSpan.FromSeconds(25);

            FillWriter(ref abstractWriter, staetedAt, endedAt);
            string fileNameByDate = Path.Combine(PathResolver.GetAbsolutePath(), PathResolver.GetFileNameByDate(staetedAt));
            string csvFile        = fileNameByDate + ".csv";
            string jsonFile       = fileNameByDate + ".json";

            string[] linesCsv      = File.ReadLines(csvFile).ToArray();
            int      linesCsvCount = linesCsv.Length;

            Assert.True(Requests.Count + 1 == linesCsvCount);
            for (int i = 0; i < linesCsvCount; i++)
            {
                if (i == 0)
                {
                    Assert.True(linesCsv[i] == "StartedAt;ResponseTime");
                }
                else
                {
                    RequestTask request = Requests[i - 1];
                    Assert.True($"{request.StartedAt};{request.TotalExecutionTime}" == linesCsv[i]);
                }
            }
            File.Delete(jsonFile);
            File.Delete(csvFile);
        }
コード例 #2
0
        public void TestFileWriter()
        {
            AbstractWriter abstractWriter = WritersFactory.GetWriter(src.Entities.ResultWriter.File);
            DateTime       endedAt        = DateTime.Now;
            DateTime       staetedAt      = endedAt - TimeSpan.FromSeconds(25);

            FillWriter(ref abstractWriter, staetedAt, endedAt);
            string fileNameByDate = Path.Combine(PathResolver.GetAbsolutePath(), PathResolver.GetFileNameByDate(staetedAt));
            string jsonFile       = fileNameByDate + ".json";
            string csvFile        = fileNameByDate + ".csv";

            Assert.True(File.Exists(jsonFile));
            Assert.True(File.Exists(csvFile));
            File.Delete(jsonFile);
            File.Delete(csvFile);
        }
コード例 #3
0
ファイル: Session.cs プロジェクト: inclus16/CliStressTester
        public void Run(RunTestDto dto)
        {
            Validate(dto);
            if (HaveValidationErrors())
            {
                PrintValidationErrors();
                return;
            }

            Executor.SetConfig(dto.GetTestConfig());
            Executor.Configurate();
            Task session = Task.Run(() =>
            {
                Executor.StartTest();
            });
            bool manualyStopped = false;

            while (!session.IsCompleted)
            {
                ConsoleKeyInfo key = Console.ReadKey();
                if (key.KeyChar == STOP)
                {
                    Executor.StopExecution();
                    manualyStopped = true;
                    break;
                }
            }
            List <RequestTask> result = Executor.GetResult();

            if (result.Count == 0)
            {
                return;
            }
            AbstractWriter writer = WritersFactory.GetWriter(dto.ResultWriter);

            writer.SetCompletedTasks(result)
            .SetStartedAtTime(Executor.GetStartedAt())
            .SetEndedAtTime(DateTime.Now)
            .SetStopReason(manualyStopped ? StopSignal.Manual : dto.StopSignal);
            writer.Write();
        }