Example #1
0
        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}.";
            }
        }
Example #2
0
 public string GetLog()
 {
     return(_logger.GetLog());
 }