示例#1
0
 private void HandleStartTestRequest(StartTestRequest x)
 {
     //this is pretty much "fire and forget"
     TestrunCoordinatorRouter.Tell(new StartNewLoadTest(x.Url, x.NumberOfAgents, x.ReQuestsPerAgent));
     //therefore there is actually nothing to tell back....
     Sender.Tell(new StartTestResponse());
 }
示例#2
0
        public void RegisterTestStart(ITest test)
        {
            var testRun  = RunContext.GetCurrentTestRun();
            var testName = TestContext.CurrentContext.Test.ClassName + "." + TestContext.CurrentContext.Test.MethodName;

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

                var startTestRequest = new StartTestRequest
                {
                    ClassName  = TestContext.CurrentContext.Test.ClassName,
                    MethodName = TestContext.CurrentContext.Test.MethodName,
                    Name       = testName,
                    StartedAt  = DateTime.UtcNow,
                    Maintainer = MaintainerResolver.ResolveMaintainer(test),
                    Labels     = LabelsResolver.ResolveLabels(test)
                };
                var saveTestResponse = _apiClient.RegisterTestStart(testRun.Id, startTestRequest);
                RunContext.SetCurrentTest(saveTestResponse);

                _testSessionRegistrar.LinkAllCurrentToTest(saveTestResponse.Id);

                var jobUrl    = (Environment.GetEnvironmentVariable("ci_url") ?? DefaultJobUrl).TrimEnd('/');
                var jobNumber = Environment.GetEnvironmentVariable("ci_build");
                Artifact.AttachReferenceToTest("Demo", $"{jobUrl}/{jobNumber}/Screenshots/{testName}/report.html");
                Artifact.AttachReferenceToTest("Log", $"{jobUrl}/{jobNumber}/Logs/{testName}/test.log");

                Log($"({testRun.Id}, {saveTestResponse.Id}) Test start was registered successfully.");
            }
        }
        public SaveTestResponse RegisterTestStart(long testRunId, StartTestRequest requestBody)
        {
            var request = new RestRequest(Reporting($"/v1/test-runs/{testRunId}/tests"), DataFormat.Json);

            request.AddJsonBody(requestBody);

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

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

            throw new Exception($"Could not register start of test. Response body is {response.Content}");
        }