public NUnitReportSummary GetNunitReportSummmary(string xml)
        {
            NUnitReportSummary reportModel = new NUnitReportSummary()
            {
                Testrun   = GetTestRun(xml),
                Testcases = GetTestCaseList(xml),
                TestCasesGroupedByClassName = GetTestCasesByOrderedByClassName(xml)
            };

            return(reportModel);
        }
Example #2
0
        private SingleDeviceTestSuiteRun ConvertFromSingleDeviceDTO(NUnitDeviceTestRunDTO testRunDTO, DeviceTestSuiteCollectionRun deviceTestSuiteCollectionRun)
        {
            var    base64   = testRunDTO.NUnitXmlBase64;
            string nunitXml = EncodingUtilities.DecodeStringFromBase64(base64);

            NUnitReportSummary nUnitReportSummary = _deserializer.GetNunitReportSummmary(nunitXml);

            var singleRun = new SingleDeviceTestSuiteRun()
            {
                Id               = testRunDTO.Id,
                MobileDevice     = testRunDTO.MobileDevice,
                TestRunReportRaw = nunitXml,

                DeviceTestSuiteCollectionRun = deviceTestSuiteCollectionRun,
            };

            //TODO: Add Deserialized NUnit Data from "NUnitTestRun testrun"
            //NUnitTestResult = testrun
            //Use simple, scaled-down Test Case / Test Case Execution models for now:
            singleRun.TestCaseExecutions = GetTestCaseDataFromDTO(singleRun, nUnitReportSummary);

            return(singleRun);
        }
Example #3
0
        private List <TestCaseExecution> GetTestCaseDataFromDTO(SingleDeviceTestSuiteRun testRun, NUnitReportSummary nUnitReportSummary)
        {
            var testcases      = new List <Models.TestCase>();
            var testExecutions = new List <Models.TestCaseExecution>();

            //TODO: implement attachments
            var attachments = new List <Models.TestCase_Attachment>();

            //Loop though NUnit TestCases and create TestPond Models of Test Case and Execution
            foreach (var tc in nUnitReportSummary.Testcases)
            {
                var testPondTestCase = new Models.TestCase()
                {
                    Id = tc.Fullname
                };

                Enum.TryParse(tc.Result, out TestResult result);

                var testPondTestCaseExec = new Models.TestCaseExecution()
                {
                    TestCaseId = testPondTestCase.Id,
                    ClassName  = tc.Classname,
                    TestCase   = testPondTestCase,
                    SingleDeviceTestSuiteRunId = testRun.Id,
                    SingleDeviceTestSuiteRun   = testRun,
                    Result            = result,
                    ConsoleOutput     = tc.Output,
                    FailureMessage    = tc.Failure?.Message,
                    FailureStackTrace = tc.Failure?.Stacktrace
                };

                testcases.Add(testPondTestCase);
                testExecutions.Add(testPondTestCaseExec);
            }

            return(testExecutions);
        }