Exemplo n.º 1
0
        public string[] GetUnprocessedFilenames(string[] allFilePaths)
        {
            var filenames = allFilePaths.Select(x => x.Substring(x.LastIndexOf(Path.DirectorySeparatorChar) + 1)).ToHashSet();

            using (var db = new CollectorContext())
            {
                var processedTestRuns = db.TestRuns.Select(x => x.OriginalFileName).ToHashSet();
                return(filenames.Except(processedTestRuns).ToArray());
            }
        }
Exemplo n.º 2
0
        private ConcurrentDictionary <string, TestRunDao> GetTestRunIds()
        {
            using (var db = new CollectorContext())
            {
                var testRunDaos = db.TestRuns
                                  .ToList()
                                  .GroupBy(x => x.UniqueId)
                                  .ToDictionary(k => k.Key, v => v.Select(f => f).Single());

                return(new ConcurrentDictionary <string, TestRunDao>(testRunDaos));
            }
        }
Exemplo n.º 3
0
        public TestRunViewModel GetTestRun(TestRunType type, FlytApplication app, int version)
        {
            using (var db = new CollectorContext())
            {
                var testResultViewModels = from testResult in db.TestResults
                                           join testRun in db.TestRuns on testResult.TestRunId equals testRun.Id
                                           where testRun.TestRunType == type && testRun.FlytApplicationType == app && testRun.BuildNumber == version
                                           select new TestResultViewModel(new TestResult(testResult, testRun));

                return(testResultViewModels
                       .ToList()
                       .GroupBy(t => t.TestResult.TestRunMetaData.Id)
                       .Select(grp => new TestRunViewModel(grp.ToList()))
                       .First());
            }
        }
Exemplo n.º 4
0
        public List <TestRunViewModel> GetLastTestRuns(TestRunType type)
        {
            using (var db = new CollectorContext())
            {
                var testResultViewModels = from testResult in db.TestResults
                                           join testRun in db.TestRuns on testResult.TestRunId equals testRun.Id
                                           where testRun.TestRunType == type && testRun.LastRun > _twoMonthsAgo
                                           select new TestResultViewModel(new TestResult(testResult, testRun));

                return(testResultViewModels
                       .ToList()
                       .GroupBy(t => t.TestResult.TestRunMetaData.Id)
                       .Select(grp => new TestRunViewModel(grp.ToList()))
                       .ToList());
            }
        }
Exemplo n.º 5
0
        public int Get11ThBuildNumber()
        {
            using (var db = new CollectorContext())
            {
                var lastBuilds = db.TestRuns
                                 .ToList()
                                 .GroupBy(x => x.BuildNumber)
                                 .OrderByDescending(x => x.Key)
                                 .ToList();

                if (lastBuilds.Count > 10)
                {
                    return(lastBuilds.Skip(10).First().Key);
                }

                return(lastBuilds.Last().Key);
            }
        }
Exemplo n.º 6
0
        public void AddTestRun(TestRun testRun)
        {
            if (testRun == null)
            {
                throw new Exception($"testRun is null");
            }

            if (_testRunIds.ContainsKey(testRun.GetUniqueId()))
            {
                throw new Exception($"not unique with {_testRunIds[testRun.GetUniqueId()].OriginalFileName}");
            }

            using (var db = new CollectorContext())
            {
                var entityEntry = db.TestRuns.Add(new TestRunDao(testRun, VERSION)).Entity;
                db.SaveChanges();
                _testRunIds.TryAdd(testRun.GetUniqueId(), entityEntry);

                var testResultDaos = testRun.Results.Select(x => new TestResultDao(x, entityEntry.Id, VERSION)).ToList();
                db.TestResults.AddRange(testResultDaos);
                db.SaveChanges();
            }
        }