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); }
public override void Write() { string resultsFilePath = Path.Combine(ArchivePath, PathResolver.GetFileNameByDate(Result.StartedAt) + ".json"); File.WriteAllText(resultsFilePath, JsonConvert.SerializeObject(Result)); WriteResponsesCsv(); }
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); }
private void WriteResponsesCsv() { string resultsFilePath = Path.Combine(ArchivePath, PathResolver.GetFileNameByDate(Result.StartedAt) + ".csv"); int responsesCount = Result.CompletedRequests.Length; using (FileStream fs = File.OpenWrite(resultsFilePath)) { byte[] header = Encoding.UTF8.GetBytes("StartedAt;ResponseTime\n"); fs.Write(header, 0, header.Length); for (int i = 0; i < responsesCount; i++) { TimeSpan completedBy = Result.CompletedRequests[i].CompletedBy; byte[] buffer = Encoding.UTF8.GetBytes($"{Result.CompletedRequests[i].StartedAt};{completedBy}\n"); fs.Write(buffer, 0, buffer.Length); } } }