public NUnitReportSummary GetNunitReportSummmary(string xml) { NUnitReportSummary reportModel = new NUnitReportSummary() { Testrun = GetTestRun(xml), Testcases = GetTestCaseList(xml), TestCasesGroupedByClassName = GetTestCasesByOrderedByClassName(xml) }; return(reportModel); }
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); }
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); }