Пример #1
0
        Negotiator ExportTestResultsFromTestRun(Guid testRunId)
        {
            var testResultsExporter = ServerObjectFactory.Resolve <TestResultsExporter>();
            var currentTestRun      = TestRunQueue.TestRuns.FirstOrDefault(testRun => testRun.Id == testRunId);

            if (currentTestRun == null)
            {
                return(Negotiate.WithStatusCode(HttpStatusCode.NotFound));
            }
            var xDoc = testResultsExporter.GetTestResultsAsXdocument(
                new SearchCmdletBaseDataObject {
                Descending   = false,
                FilterAll    = true,
                FilterFailed = false,
                OrderById    = true
            },
                currentTestRun.TestSuites,
                currentTestRun.TestPlatforms);

            var dataObject = new TestResultsDataObject {
                Data = xDoc.ToString()
            };

            return(null == dataObject.Data ? Negotiate.WithStatusCode(HttpStatusCode.NotFound) : Negotiate.WithModel(dataObject).WithStatusCode(HttpStatusCode.OK).WithFullNegotiation());
        }
Пример #2
0
 Negotiator ExportTestResultsFromTestRunAsHtmlPage(Guid testRunId)
 {
     var basePath = (new TmxServerRootPathProvider()).GetRootPath() + @"/Views/testRuns/";
     // 20150317
     // TODO: proxify
     var testReportsExporter = TinyIoCContainer.Current.Resolve<TestReportsExporter>(new NamedParameterOverloads { { "basePath", basePath } });
     var reportPage = testReportsExporter.GetReportPage(testRunId, UrlList.ViewTestRuns_ResultsPageName);
     var dataObject = new TestResultsDataObject { Data = reportPage };
     // 20150322
     // return null == dataObject ? Negotiate.WithStatusCode(HttpStatusCode.NotFound) : Negotiate.WithModel(dataObject).WithStatusCode(HttpStatusCode.OK).WithFullNegotiation();
     return null == dataObject.Data ? Negotiate.WithStatusCode(HttpStatusCode.NotFound) : Negotiate.WithModel(dataObject).WithStatusCode(HttpStatusCode.OK).WithFullNegotiation();
 }
Пример #3
0
        public virtual bool SendTestResults()
        {
            Trace.TraceInformation("SendTestResults().1");

            var testResultsExporter = new TestResultsExporter();

            Trace.TraceInformation("SendTestResults().2");

            var xDoc = testResultsExporter.GetTestResultsAsXdocument(
                new SearchCmdletBaseDataObject {
                FilterAll = true
            },
                TestData.TestSuites,
                TestData.TestPlatforms);

            Trace.TraceInformation("SendTestResults().3");

            var dataObject = new TestResultsDataObject {
                Data = xDoc.ToString()
            };

            Trace.TraceInformation("SendTestResults().4");

            try {
                var url = UrlList.TestResults_Root + "/" + ClientSettings.Instance.CurrentClient.TestRunId + UrlList.TestResultsPostingPoint_forClient_relPath;


                // 20141211
                // TODO: AOP
                Trace.TraceInformation("SendTestResults().5: testRun id = {0}, url = {1}", ClientSettings.Instance.CurrentClient.TestRunId, url);


                var sendingResultsResponse = _restTemplate.PostForMessage(url, dataObject);

                Trace.TraceInformation("SendTestResults().6 sendingResultsResponse is null? {0}", null == sendingResultsResponse);
                // 20150316
                if (null == sendingResultsResponse)
                {
                    throw  new Exception("Failed to send test results.");
                }

                return(HttpStatusCode.Created == sendingResultsResponse.StatusCode);
            }
            catch (RestClientException eSendingTestResults) {
                // TODO: AOP
                Trace.TraceError("SendTestResults()");
                Trace.TraceError(eSendingTestResults.Message);
                throw new SendingTestResultsException("Failed to send test results. " + eSendingTestResults.Message);
            }
        }
Пример #4
0
 public virtual bool SendTestResults()
 {
     Trace.TraceInformation("SendTestResults().1");
     
     var testResultsExporter = new TestResultsExporter();
     
     Trace.TraceInformation("SendTestResults().2");
     
     var xDoc = testResultsExporter.GetTestResultsAsXdocument(
                 new SearchCmdletBaseDataObject {
                     FilterAll = true
                 },
                 TestData.TestSuites,
                 TestData.TestPlatforms);
     
     Trace.TraceInformation("SendTestResults().3");
     
     var dataObject = new TestResultsDataObject {
         Data = xDoc.ToString()
     };
     
     Trace.TraceInformation("SendTestResults().4");
     
     try {
         var url = UrlList.TestResults_Root + "/" + ClientSettings.Instance.CurrentClient.TestRunId + UrlList.TestResultsPostingPoint_forClient_relPath;
         
         
         // 20141211
         // TODO: AOP
         Trace.TraceInformation("SendTestResults().5: testRun id = {0}, url = {1}", ClientSettings.Instance.CurrentClient.TestRunId, url);
         
         
         var sendingResultsResponse = _restTemplate.PostForMessage(url, dataObject);
         
         Trace.TraceInformation("SendTestResults().6 sendingResultsResponse is null? {0}", null == sendingResultsResponse);
         // 20150316
         if (null == sendingResultsResponse)
             throw  new Exception("Failed to send test results.");
         
         return HttpStatusCode.Created == sendingResultsResponse.StatusCode;
     }
     catch (RestClientException eSendingTestResults) {
         // TODO: AOP
         Trace.TraceError("SendTestResults()");
         Trace.TraceError(eSendingTestResults.Message);
         throw new SendingTestResultsException("Failed to send test results. " + eSendingTestResults.Message);
     }
 }
Пример #5
0
        public void ShouldAcceptWhenPostingNoData()
        {
            var testResultsExporter = new TestResultsExporter();

            testResultsExporter.GetTestResultsAsXdocument(new SearchCmdletBaseDataObject {
                FilterAll = true
            }, new List <ITestSuite>(), new List <ITestPlatform>());

            var dataObject = new TestResultsDataObject {
                Data = string.Empty
            };

            WhenPostingTestResults(dataObject);

            ThenHttpResponseIsCreated();
        }
Пример #6
0
        Negotiator ExportTestResultsFromTestRunAsHtmlPage(Guid testRunId)
        {
            var basePath = (new TmxServerRootPathProvider()).GetRootPath() + @"/Views/testRuns/";
            // 20150317
            // TODO: proxify
            var testReportsExporter = TinyIoCContainer.Current.Resolve <TestReportsExporter>(new NamedParameterOverloads {
                { "basePath", basePath }
            });
            var reportPage = testReportsExporter.GetReportPage(testRunId, UrlList.ViewTestRuns_ResultsPageName);
            var dataObject = new TestResultsDataObject {
                Data = reportPage
            };

            // 20150322
            // return null == dataObject ? Negotiate.WithStatusCode(HttpStatusCode.NotFound) : Negotiate.WithModel(dataObject).WithStatusCode(HttpStatusCode.OK).WithFullNegotiation();
            return(null == dataObject.Data ? Negotiate.WithStatusCode(HttpStatusCode.NotFound) : Negotiate.WithModel(dataObject).WithStatusCode(HttpStatusCode.OK).WithFullNegotiation());
        }
Пример #7
0
 Negotiator ExportTestResultsFromTestRun(Guid testRunId)
 {
     var testResultsExporter = ServerObjectFactory.Resolve<TestResultsExporter>();
     var currentTestRun = TestRunQueue.TestRuns.FirstOrDefault(testRun => testRun.Id == testRunId);
     if (currentTestRun == null) return Negotiate.WithStatusCode(HttpStatusCode.NotFound);
     var xDoc = testResultsExporter.GetTestResultsAsXdocument(
         new SearchCmdletBaseDataObject {
             Descending = false,
             FilterAll = true,
             FilterFailed = false,
             OrderById = true
         },
         currentTestRun.TestSuites,
         currentTestRun.TestPlatforms);
     
     var dataObject = new TestResultsDataObject { Data = xDoc.ToString() };
     return null == dataObject.Data ? Negotiate.WithStatusCode(HttpStatusCode.NotFound) : Negotiate.WithModel(dataObject).WithStatusCode(HttpStatusCode.OK).WithFullNegotiation();
 }
Пример #8
0
        public void ShouldSendThreeTestSuitesWithInnerData()
        {
            var guid   = Guid.NewGuid();
            var suites = GivenOneTestSuiteWithInnerHierarchy("1", "2", "3", guid);

            suites.AddRange(GivenOneTestSuiteWithInnerHierarchy("10", "20", "30", guid));
            suites.AddRange(GivenOneTestSuiteWithInnerHierarchy("100", "200", "300", guid));
            var testResultsExporter = new TestResultsExporter();
            var xDoc = testResultsExporter.GetTestResultsAsXdocument(new SearchCmdletBaseDataObject {
                FilterAll = true,
                OrderById = true
            },
                                                                     suites,
                                                                     new List <ITestPlatform> {
                new TestPlatform {
                    UniqueId = guid
                }
            });
            var dataObject = new TestResultsDataObject {
                Data = xDoc.ToString()
            };

            Console.WriteLine(xDoc.ToString());

            WhenPostingTestResults(dataObject);

            ThenHttpResponseIsCreated();
            Xunit.Assert.Equal(suites[0].Id, _testRun.TestSuites[0].Id);
            Xunit.Assert.Equal(suites[0].TestScenarios[0].Id, _testRun.TestSuites[0].TestScenarios[0].Id);
            Xunit.Assert.Equal(suites[0].TestScenarios[0].TestResults[0].Id, _testRun.TestSuites[0].TestScenarios[0].TestResults[0].Id);

            Xunit.Assert.Equal(suites[1].Id, _testRun.TestSuites[1].Id);
            Xunit.Assert.Equal(suites[1].TestScenarios[0].Id, _testRun.TestSuites[1].TestScenarios[0].Id);
            Xunit.Assert.Equal(suites[1].TestScenarios[0].TestResults[0].Id, _testRun.TestSuites[1].TestScenarios[0].TestResults[0].Id);

            Xunit.Assert.Equal(suites[2].Id, _testRun.TestSuites[2].Id);
            Xunit.Assert.Equal(suites[2].TestScenarios[0].Id, _testRun.TestSuites[2].TestScenarios[0].Id);
            Xunit.Assert.Equal(suites[2].TestScenarios[0].TestResults[0].Id, _testRun.TestSuites[2].TestScenarios[0].TestResults[0].Id);
        }
Пример #9
0
        public void ShouldSendOneTestSuiteWithInnerData()
        {
            var testPlatform        = new TestPlatform();
            var suites              = GivenOneTestSuiteWithInnerHierarchy("1", "2", "3", testPlatform.UniqueId);
            var testResultsExporter = new TestResultsExporter();
            var xDoc = testResultsExporter.GetTestResultsAsXdocument(new SearchCmdletBaseDataObject {
                FilterAll = true,
                OrderById = true
            },
                                                                     suites,
                                                                     new List <ITestPlatform> {
                testPlatform
            });
            var dataObject = new TestResultsDataObject {
                Data = xDoc.ToString()
            };

            WhenPostingTestResults(dataObject);

            ThenHttpResponseIsCreated();
            Xunit.Assert.Equal(suites[0].Id, _testRun.TestSuites[0].Id);
            Xunit.Assert.Equal(suites[0].TestScenarios[0].Id, _testRun.TestSuites[0].TestScenarios[0].Id);
            Xunit.Assert.Equal(suites[0].TestScenarios[0].TestResults[0].Id, _testRun.TestSuites[0].TestScenarios[0].TestResults[0].Id);
        }