예제 #1
0
        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);
            }
        }
예제 #2
0
 public void Set(int testsystemIndex, TestsystemSummary testsystemSummary)
 {
     testSystemSummaries[testsystemIndex] = testsystemSummary;
 }