void ITestService.TestFailedTestsOfTestcaseOfTestsuite(int testerId, int testsystemId, int testsuiteId, int testcaseId) { Testsuite testsuite = _testsuiteRepository.GetById(testsuiteId); Testcase testcase = testsuite.Testcases.Single(t => t.ID == testcaseId); IList <Result> errorResults = _resultRepository.GetErrorResultsOfTestsuite(testsystemId, testsuite.Browsers, new List <Testcase> { testcase }, testsuite.Languages); Testsystem testsystem = _testsystemRepository.GetById(testsystemId); Tester tester = _testerRepository.GetById(testerId); TestJob testjob = CreateTestJob("Repeat failed of " + "Testcase " + testcase.Name + "(Testsuite " + testsuite.Name + ")", testsuite, testsystem, tester); ITestJobManager testjobManager = new TestJobManager(testjob); ICollection <WorkItem> workItems = (from result in errorResults select new WorkItem(testjobManager) { Testcase = result.Testcase, Browser = result.Browser, Language = result.Language, Testsystem = testsystem, Tester = tester }).ToList(); _testPool.AddTestJob(testjobManager, workItems); }
IList <ErrorOccurrenceGroup> ITestViewerService.GetHistoryErrorOccurrenceGroups(int testsystemIndex, int testsuiteId, DateTime fromDate, DateTime toDate) { Testsuite testsuite = _testsuiteRepository.GetById(testsuiteId); IList <HistoryResult> historyErrorResultsOfTestsuite = _historyResultRepository.GetListOfErrorHistoryResults(testsystemIndex, testsuite.Browsers, testsuite.Testcases, testsuite.Languages, fromDate, toDate); return(ErrorGrouping.GetHistoryErrorOccurrenceGroups(historyErrorResultsOfTestsuite)); }
IList <ErrorOccurrenceGroup> ITestViewerService.GetCurrentErrorOccurrenceGroups(int testsystemIndex, int testsuiteId) { Testsuite testsuite = _testsuiteRepository.GetById(testsuiteId); IList <Result> errorResultsOfTestsuite = _resultRepository.GetErrorResultsOfTestsuite(testsystemIndex, testsuite.Browsers, testsuite.Testcases, testsuite.Languages); return(ErrorGrouping.GetErrorOccurrenceGroups(errorResultsOfTestsuite)); }
IList <TestsystemSummary> ISummaryService.GetLastTestsystemSummaries() { Testsuite testsuite = _testsuiteRepository.GetByName(RegtestingServerConfiguration.Defaulttestsuite); return(_testsystemRepository.GetAll() .Select(objTestsystem => CreateTestsystemSummary(objTestsystem, testsuite, TestsystemSummariesCache.Cache)) .OrderByDescending(objSummary => objSummary.LastChangeDate).Where(objSummary => DateTime.Now - objSummary.LastChangeDate < TimeSpan.FromDays(7)).ToList()); }
IList <HistoryResult> ITestViewerService.GetResultsHistory(int testsystemIndex, int testcaseId, int browserId, int languageId, int testsuiteId, int maxResults) { Testsuite testsuite = _testsuiteRepository.GetById(testsuiteId); IList <Browser> browsers = browserId == -1 ? testsuite.Browsers : testsuite.Browsers.Where(t => t.ID == browserId).ToList(); IList <Language> languages = languageId == -1 ? testsuite.Languages : testsuite.Languages.Where(t => t.ID == languageId).ToList(); IList <Testcase> testcases = testcaseId == -1 ? testsuite.Testcases : testsuite.Testcases.Where(t => t.ID == testcaseId).ToList(); return(_historyResultRepository.GetListOfHistoryResults(testsystemIndex, browsers, testcases, languages, maxResults).ToList()); }
public void TestStartTestRunCallsClientAndSetsRunIdOnSuite() { var inMemoryTestrailClient = new InMemoryTestrailClient(); var service = new TestrailService(inMemoryTestrailClient); var suite = new Testsuite("SomeSuite", 1); service.StartSuite(suite); Assert.AreEqual(InMemoryTestrailClient.RunId, suite.CurrentRunId); }
IList <TestsystemSummary> ISummaryService.GetPinnedTestsystemSummaries() { Testsuite testsuite = _testsuiteRepository.GetByName(RegtestingServerConfiguration.Defaulttestsuite); IList <Testsystem> mainTestsystems = RegtestingServerConfiguration.PinnedBranches.Select(t => _testsystemRepository.GetByName(t)).ToList(); return(mainTestsystems .Select(objTestsystem => CreateTestsystemSummary(objTestsystem, testsuite, TestsystemSummariesCache.Cache)) .ToList()); }
void ILocalTestService.AddLocalTestTasks(string userName, string testsystemName, string testsystemUrl, List <string> browsers, List <string> testcases, List <string> languages) { Testsystem testsystem = _testsystemRepository.GetByName(testsystemName); Tester tester = _testerRepository.GetByName(userName); testsystem.Url = testsystemUrl; _testsystemRepository.Store(testsystem); Testsuite testsuite = new Testsuite { Description = "", Name = "Local " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString(), TestsystemFilter = testsystem }; _testsuiteRepository.Store(testsuite); int testsuiteId = testsuite.ID; List <int> testcaseIds = testcases.Select(t => _testcaseRepository.GetByType(t).ID).ToList(); List <int> browserIds = browsers.Select(t => _browserRepository.GetByName(t).ID).ToList(); List <int> languageIds = languages.Select(t => _languageRepository.GetByLanguageCode(t).ID).ToList(); _testsuiteRepository.SetTestcasesForTestsuite(testsuiteId, testcaseIds); _testsuiteRepository.SetBrowsersForTestsuite(testsuiteId, browserIds); _testsuiteRepository.SetLanguagesForTestsuite(testsuiteId, languageIds); TestJob testjob = new TestJob { Name = "A set of tests on " + testsystem.Url, ResultCode = TestState.Pending, Testsuite = testsuite, Testsystem = testsystem, Tester = tester, StartedAt = DateTime.Now, JobType = JobType.Localtesttool }; ITestJobManager testJobManager = new TestJobManager(testjob); ICollection <WorkItem> workItems = (from testcase in testsuite.Testcases from browser in testsuite.Browsers from language in testsuite.Languages select new WorkItem(testJobManager) { Testcase = testcase, Browser = browser, Language = language, Testsystem = testsystem, Tester = tester }).ToList(); _testPool.AddTestJob(testJobManager, workItems); }
public void TestEndRunCallClientAndResetsRunIdToDefault() { var inMemoryTestrailClient = new InMemoryTestrailClient(); var service = new TestrailService(inMemoryTestrailClient); var suite = new Testsuite("SomeSuite", 1); service.StartSuite(suite); service.EndSuite(suite); Assert.AreEqual(-1, suite.CurrentRunId); Assert.IsTrue(inMemoryTestrailClient.EndSuiteCalled); }
private static TestJob CreateTestJob(string name, Testsuite testsuite, Testsystem testsystem, Tester tester) { TestJob testjob = new TestJob { Name = name, ResultCode = TestState.Pending, Testsuite = testsuite, Testsystem = testsystem, Tester = tester, StartedAt = DateTime.Now, JobType = JobType.Testportal }; return(testjob); }
void ISettingsService.StoreTestsuite(TestsuiteDto testsuite) { if (testsuite.ID == 0) { _testsuiteRepository.Store(Mapper.Map <Testsuite>(testsuite)); } else { Testsuite testsuiteCurrent = _testsuiteRepository.GetById(testsuite.ID); testsuiteCurrent.Name = testsuite.Name; testsuiteCurrent.Description = testsuite.Description; _testsuiteRepository.Store(testsuiteCurrent); } }
TestcaseDetailsModel ITestViewerService.GetTestcaseDetails(int testsystemIndex, int testsuiteId, int testcaseId) { Testsuite testsuite = _testsuiteRepository.GetById(testsuiteId); TestcaseDetailsModel testcaseDetails = new TestcaseDetailsModel(); IList <Result> errorResultsOfTestsuite = _resultRepository.GetErrorResultsOfTestsuite(testsystemIndex, testsuite.Browsers, testsuite.Testcases.Where(t => t.ID == testcaseId).ToList(), testsuite.Languages); IList <ErrorOccurrenceGroup> errorOccurenceGroups = ErrorGrouping.GetErrorOccurrenceGroups(errorResultsOfTestsuite); if (errorOccurenceGroups.Any()) { testcaseDetails.ErrorOccurrenceGroup = errorOccurenceGroups.First(); } testcaseDetails.Testcase = _testcaseRepository.GetById(testcaseId); return(testcaseDetails); }
int IBuildTaskService.AddRegTestTasks(string testsystemName, string emailReceiver, string testsuiteName, string branch, string commitId, string commitMessage) { Testsuite testsuite = _testsuiteRepository.GetByName(testsuiteName); Testsystem testsystem = _testsystemRepository.GetByName(testsystemName); Tester tester = _testerRepository.GetByName(emailReceiver); string testjobname; if (!String.IsNullOrEmpty(commitId) && !String.IsNullOrEmpty(branch)) { testjobname = "Commit " + commitId + " on " + ParseBranchName(branch); } else { testjobname = "Testsuite " + testsuiteName; } TestJob testjob = new TestJob { Name = testjobname, Description = commitMessage, ResultCode = TestState.Pending, Testsuite = testsuite, Testsystem = testsystem, Tester = tester, StartedAt = DateTime.Now, JobType = JobType.Buildtask }; ITestJobManager testJobManager = new TestJobManager(testjob); ICollection <WorkItem> workItems = (from testcase in testsuite.Testcases from browser in testsuite.Browsers from language in testsuite.Languages select new WorkItem(testJobManager) { Testcase = testcase, Browser = browser, Language = language, Testsystem = testsystem, Tester = tester }).ToList(); _testPool.AddTestJob(testJobManager, workItems); return(testjob.ID); }
IList <GroupedResult> ITestViewerService.GetResults(int testsystemIndex, int testsuiteId, DateTime?resultsSince) { Testsuite testsuite = _testsuiteRepository.GetById(testsuiteId); IList <Result> results = _resultRepository.GetListOfResults(testsystemIndex, testsuite.Browsers, testsuite.Testcases, testsuite.Languages).ToList(); List <GroupedResult> groupedResults = new List <GroupedResult>(); foreach (Testcase testcase in testsuite.Testcases) { GroupedResult groupedResult = CalculateGroupedResultsForTestcase(testcase.ID, results.Where(result => result.Testcase.ID == testcase.ID).ToList(), resultsSince); if (groupedResult != null) { groupedResults.Add(groupedResult); } } return(groupedResults); }
private TestsystemSummary CreateTestsystemSummary(Testsystem testsystem, Testsuite testsuite, TestsystemSummariesCache cache) { lock (cache.GetLock(testsystem.ID)) { TestsystemSummary cachedResult = cache.Get(testsystem.ID); if (cachedResult != null) { return(cachedResult); } IList <Result> results = _resultRepository.GetListOfResults(testsystem.ID, testsuite.Browsers, testsuite.Testcases, testsuite.Languages); TestsystemSummary testsystemSummary = new TestsystemSummary { TestsuiteName = testsuite.Name, TestsuiteID = testsuite.ID, TestsystemName = testsystem.Name, TestsystemID = testsystem.ID, }; if (results.Count != 0) { testsystemSummary.LastChangeDate = results.Min(t => t.Testtime); testsystemSummary.TestsystemStatus = results.Max(t => t.ResultCode); } else { testsystemSummary.LastChangeDate = DateTime.MinValue; testsystemSummary.TestsystemStatus = (int)TestState.NotSet; } cache.Set(testsystem.ID, testsystemSummary); return(testsystemSummary); } }
void ILocalTestService.AddTestsuiteTask(string userName, string testsystemName, string testsystemUrl, string testsuiteName) { Testsuite testsuite = _testsuiteRepository.GetByName(testsuiteName); Testsystem testsystem = _testsystemRepository.GetByName(testsystemName); testsystem.Url = testsystemUrl; _testsystemRepository.Store(testsystem); Tester tester = _testerRepository.GetByName(userName); string testjobname = "Testsuite " + testsuite.Name + " on " + testsystem.Url; TestJob testjob = new TestJob { Name = testjobname, ResultCode = TestState.Pending, Testsuite = testsuite, Testsystem = testsystem, Tester = tester, StartedAt = DateTime.Now, JobType = JobType.Localtesttool }; ITestJobManager testJobManager = new TestJobManager(testjob); ICollection <WorkItem> workItems = (from testcase in testsuite.Testcases from browser in testsuite.Browsers from language in testsuite.Languages select new WorkItem(testJobManager) { Testcase = testcase, Browser = browser, Language = language, Testsystem = testsystem, Tester = tester }).ToList(); _testPool.AddTestJob(testJobManager, workItems); }
void ITestService.TestTestcaseOfTestsuite(int testerId, int testsystemId, int testsuiteId, int testcaseId) { Testsuite testsuite = _testsuiteRepository.GetById(testsuiteId); Testsystem testsystem = _testsystemRepository.GetById(testsystemId); Tester tester = _testerRepository.GetById(testerId); Testcase testcase = testsuite.Testcases.Single(t => t.ID == testcaseId); TestJob testJob = CreateTestJob("Testcase " + testcase.Name + "(Testsuite " + testsuite.Name + ")", testsuite, testsystem, tester); ITestJobManager testJobManager = new TestJobManager(testJob); ICollection <WorkItem> workItems = (from browser in testsuite.Browsers from language in testsuite.Languages select new WorkItem(testJobManager) { Testcase = testcase, Browser = browser, Language = language, Testsystem = testsystem, Tester = tester }).ToList(); _testPool.AddTestJob(testJobManager, workItems); }
/// <summary> /// The end suite. /// </summary> /// <param name="suite"> /// The suite. /// </param> public void EndSuite(Testsuite suite) { this.TestrailClient.EndSuiteRun(suite.CurrentRunId); suite.CurrentRunId = Testsuite.DefaultRunId; }
/// <summary> /// The start suite. /// </summary> /// <param name="suite"> /// The suite. /// </param> public void StartSuite(Testsuite suite) { suite.CurrentRunId = this.TestrailClient.StartSuiteRun(suite.ProjectId, suite.Name); }