private static void ProcessResponse(Test test, ICapturedVariableProvider variables, AssertionsMatcher assertionMatcher, TestResult testResult, HttpResponse response, HttpLogWriter httpLogWriter, ITestFileRunnerLogger logger) { testResult.ResponseTime = response.ResponseTime; testResult.HttpResponse = response; testResult.HttpLog = httpLogWriter.StringBuilder.ToString(); testResult.HttpContent = response.Content; if (response.StatusCode == test.ExpectedHttpStatusCode) { testResult.ResponseCodeSuccess = true; string content = response.ToString(); // Put the captured variables regex values in the current variable set foreach (var capturedVariable in test.CapturedVariables) { capturedVariable.Regex = variables.ReplacePlainTextVariablesIn(capturedVariable.Regex); } List <Variable> parsedVariables = CapturedVariableProvider.MatchVariables(test.CapturedVariables, content, logger); variables.AddOrUpdateVariables(parsedVariables); logger.WriteLine("{0} captured variable(s) parsed.", parsedVariables.Count); // Verify assertions testResult.AssertionResults = assertionMatcher.MatchVerifications(test.Assertions, content); logger.WriteLine("Verifying {0} assertion(s)", testResult.AssertionResults.Count); foreach (Assertion item in testResult.AssertionResults) { logger.AppendTextLine(item.Log); } // Store the log testResult.Log = logger.GetLog(); } else { testResult.ResponseCodeSuccess = false; testResult.Log = $"No verifications run - the response code {response.StatusCode} did not match the expected response code {test.ExpectedHttpStatusCode}."; } }
public string GetLog() { return(_logger.GetLog()); }