Esempio n. 1
0
        public int CreateTestRun(int configurationId, string[] selectedTestCases)
        {
            var configuration = GetConfiguration(configurationId);

            using var instance = ScopedServiceFactory.GetInstance();

            var pool = instance.ScopedServiceInstance;

            var repo = pool.Get <TestResult>();

            var testResult = new TestResult
            {
                TestSuiteConfigurationId = configurationId,
                State = TestResultState.Created,
            };

            repo.Insert(testResult);

            pool.Save().Wait();

            int id = testResult.Id;

            var testRun = TestRun.Create(Options.TestEnginePath, testResult, configuration, StoragePool, Update);

            repo.Update(testResult);

            pool.Save().Wait();

            testRun.Run(selectedTestCases);

            TestRunPool.AddOrUpdate(id, _ => testRun, (_, _) => testRun);

            return(id);
        }
Esempio n. 2
0
        private ITestRun GetTestRunInternal(int id, TestResult testResult)
        {
            if (!TestRunPool.ContainsKey(id))
            {
                if (testResult == null)
                {
                    using var instance = ScopedServiceFactory.GetInstance();

                    var pool = instance.ScopedServiceInstance;

                    var repo = pool.Get <TestResult>();

                    testResult = repo.Get(q => q.Where(item => item.Id == id)).First();
                }

                var configuration = GetConfiguration(testResult.TestSuiteConfigurationId);
                var testRun       = TestRun.Open(Options.TestEnginePath, testResult, configuration, StoragePool, Update);

                TestRunPool.AddOrUpdate(id, _ => testRun, (_, _) => testRun);
            }

            return(TestRunPool[id]);
        }