private void SummarizeFailedResults(string path, ParseFileResultWithAttachments resultWithAttachments, AppendedResults appendedResults) { var result = resultWithAttachments.Result; var attachmentSummary = GetAttachmentSummary(resultWithAttachments.Attachments); if (result.Parsed) { throw new ExpectedException( $"'{path}' was parsed successfully with {appendedResults.AppendedVisits.Count} visits{attachmentSummary} appended when {Context.ExpectedStatus} was expected."); } if (result.Status != ParseFileStatus.CannotParse) { throw new ExpectedException( $"Result: '{path}' Parsed={result.Parsed} Status={result.Status} ErrorMessage={result.ErrorMessage}{attachmentSummary}"); } var errorMessage = result.ErrorMessage; if (!string.IsNullOrEmpty(errorMessage)) { throw new ExpectedException($"Can't parse '{path}'. {errorMessage}{attachmentSummary}"); } throw new ExpectedException($"File '{path}'{attachmentSummary} is not parsed by the plugin."); }
private void SummarizeResults(string path, ParseFileResultWithAttachments resultWithAttachments, AppendedResults appendedResults) { try { if (resultWithAttachments.Result?.Status == Context.ExpectedStatus) { SummarizeExpectedResults(path, resultWithAttachments, appendedResults); } else { SummarizeFailedResults(path, resultWithAttachments, appendedResults); } } catch (ExpectedException e) { if (Context.DataPaths.Count > 1) { Log.Error(e.Message); ++FailedCount; } else { throw; } } }
private void SummarizeExpectedResults(string path, ParseFileResultWithAttachments resultWithAttachments, AppendedResults appendedResults) { var result = resultWithAttachments.Result; var attachmentSummary = GetAttachmentSummary(resultWithAttachments.Attachments); if (result.Parsed) { if (!appendedResults.AppendedVisits.Any()) { throw new ExpectedException($"'{path}' was parsed{attachmentSummary} but no visits were appended."); } Log.Info($"Successfully parsed {appendedResults.AppendedVisits.Count} visits{attachmentSummary} from '{path}'."); } else { var actualError = result.ErrorMessage ?? string.Empty; var expectedError = Context.ExpectedError ?? string.Empty; if (!actualError.Equals(expectedError)) { throw new ExpectedException( $"Expected an error message of '{expectedError}' but received '{actualError}' instead while parsing '{path}'{attachmentSummary}."); } Log.Info($"ParsedResult.Status == {Context.ExpectedStatus} with Error='{Context.ExpectedError}' as expected when parsing '{path}'{attachmentSummary}."); } }
private void SummarizeResults(string path, ParseFileResultWithAttachments resultWithAttachments, AppendedResults appendedResults) { try { // Use a string comparison of the enum status, since they are not the same enum (which allows different frameworks to be used) if ($"{resultWithAttachments.Result?.Status}" == $"{Context.ExpectedStatus}") { SummarizeExpectedResults(path, resultWithAttachments, appendedResults); } else { SummarizeFailedResults(path, resultWithAttachments, appendedResults); } } catch (ExpectedException e) { if (Context.DataPaths.Count > 1) { Log.Error(e.Message); ++FailedCount; } else { throw; } } }