public void TestFileName() { var finishDateTime = new DateTime(2018, 10, 25, 5, 45, 55); var testFileName = NamesProvider.GetTestRunFileName(finishDateTime); Assert.AreEqual($"test_{finishDateTime:yyyyMMdd_HHmmssfff}.json", testFileName); }
public static string Save(this TestRunDto testRun, string path) { path.Create(); var fullPath = Path.Combine(path, NamesProvider.GetTestRunFileName(testRun.TestInfo.Finish)); using (var file = File.CreateText(fullPath)) { var serializer = new JsonSerializer(); serializer.Serialize(file, testRun); } return(fullPath); }
public static ItemInfo MapTestRunInfo(this ItemInfoDto itemInfoDto) { var run = new ItemInfo { Guid = itemInfoDto.Guid, Start = itemInfoDto.Start, Finish = itemInfoDto.Finish, ItemName = NamesProvider.GetTestRunFileName(itemInfoDto.Finish) }; return(run); }
public void UpdateTestOutput(ItemInfoDto testInfo, TestOutputDto testOutput) { testInfo.ItemName = NamesProvider.GetTestRunFileName(testInfo.Finish); testOutput.TestOutputInfo.ItemName = NamesProvider.GetTestOutputFileName(testInfo.Finish); var outputFolderPath = _locationsProvider.GetTestOutputFolderPath(testInfo.Guid); var outputFileName = NamesProvider.GetTestOutputFileName(testInfo.Finish); var existingOutput = Path.Combine(outputFolderPath, outputFileName).LoadTestOutput(); _logger.Debug($"Loaded existing output: {JsonConvert.SerializeObject(existingOutput, Formatting.Indented)}"); existingOutput.SuiteOutput = testOutput.SuiteOutput; existingOutput.Output = testOutput.Output; File.Delete(Path.Combine(outputFolderPath, outputFileName)); _logger.Debug("Deleted old output"); existingOutput.Save(outputFolderPath); _logger.Debug($"Saved updated output: {JsonConvert.SerializeObject(existingOutput, Formatting.Indented)}"); }
public ItemInfoDto SaveTestRun(TestRunDto testRun, TestOutputDto testOutput) { testRun.TestInfo.ItemName = NamesProvider.GetTestRunFileName(testRun.TestInfo.Finish); testOutput.TestOutputInfo.ItemName = NamesProvider.GetTestOutputFileName(testRun.TestInfo.Finish); testRun.Output.ItemName = testOutput.TestOutputInfo.ItemName; var imgFolder = _locationsProvider.GetScreenshotFolderPath(testRun.TestInfo.Guid); if (Directory.Exists(imgFolder)) { var imgFiles = new DirectoryInfo(imgFolder).GetFiles("*.json"); _logger.Info($"Checking unassigned img files: {imgFiles.Length} file found"); foreach (var imgFile in imgFiles) { var img = Path.Combine(imgFolder, imgFile.Name).LoadTestScreenshot(); if (imgFile.CreationTime > testRun.TestInfo.Start) { _logger.Info($"New img file found: {imgFile.CreationTime}, {imgFile.Name}"); if (testRun.Screenshots.All(s => s.Date != img.TestScreenshotInfo.Date)) { testRun.Screenshots.Add(img.TestScreenshotInfo); } } } } var testOutputFullPath = testOutput.Save(_locationsProvider.GetTestOutputFolderPath(testRun.TestInfo.Guid)); _logger.Info($"Test output was saved: '{testOutputFullPath}'"); _logger.Debug($"Test run output data was saved correctly: {JsonConvert.SerializeObject(testOutput, Formatting.Indented)}"); var testRunFullPath = testRun.Save(_locationsProvider.GetTestFolderPath(testRun.TestInfo.Guid)); _logger.Info($"Test run was saved: '{testRunFullPath}'"); var testRunsInfoFullPath = testRun.TestInfo.SaveTestInfo(_locationsProvider); _logger.Info($"Test runs Info was saved: '{testRunsInfoFullPath}'"); _logger.Debug($"Test run data was saved correctly: {JsonConvert.SerializeObject(testRun, Formatting.Indented)}"); if (!_processedTests.ContainsKey(testRun.TestInfo.Guid)) { _processedTests.Add(testRun.TestInfo.Guid, testRun.TestInfo); } return(testRun.TestInfo); }