public SaveTestResponse RegisterTestFinish(long testRunId, long testId, FinishTestRequest requestBody)
        {
            var request = new RestRequest(Reporting($"/v1/test-runs/{testRunId}/tests/{testId}"), DataFormat.Json);

            request.AddJsonBody(requestBody);

            var response = _restClient.Put <SaveTestResponse>(request);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                return(response.Data);
            }

            throw new Exception($"Could not register finish of test. Response body is {response.Content}");
        }
Example #2
0
        public void RegisterTestFinish()
        {
            var testRun = RunContext.GetCurrentTestRun();
            var test    = RunContext.GetCurrentTest();

            if (testRun != null && test != null)
            {
                Log($"({testRun?.Id}, {test?.Id}) Registering test finish...");

                var finishTestRequest = new FinishTestRequest
                {
                    EndedAt = DateTime.UtcNow,
                    Result  = TestStatusToReason[TestContext.CurrentContext.Result.Outcome.Status],
                    Reason  = GetFullStackTrace()
                };
                _apiClient.RegisterTestFinish(testRun.Id, test.Id, finishTestRequest);
                RunContext.RemoveCurrentTest();

                Log($"({testRun.Id}, {test.Id}) Test finish was registered successfully.");
            }
        }