Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        void IBuildTaskService.SendTestcaseFile(string testsystemName, byte[] data)
        {
            object _lock = _testFileLocker.GetLock(testsystemName);

            lock (_lock)
            {
                Testsystem testsystem = _testsystemRepository.GetByName(testsystemName);
                testsystem.LastUpdated = DateTime.Now;
                _testsystemRepository.Store(testsystem);
                string testFile = RegtestingServerConfiguration.Testsfolder + testsystem.Filename;
                Directory.CreateDirectory(Path.GetDirectoryName(testFile));
                using (FileStream fileStream = new FileStream(testFile, FileMode.Create, FileAccess.Write))
                {
                    fileStream.Write(data, 0, data.Length);
                }
                Logger.Log("UPDATE branch: " + testsystemName);
                TestcaseProvider testcaseProvider = new TestcaseProvider(testFile);
                testcaseProvider.CreateAppDomain();
                foreach (string testcaseType in testcaseProvider.Types)
                {
                    ITestable testable = testcaseProvider.GetTestableFromTypeName(testcaseType);
                    if (testable == null)
                    {
                        continue;
                    }

                    Testcase testcase     = _testcaseRepository.GetByType(testcaseType);
                    string   testableName = testable.GetName();
                    if (testcase == null)
                    {
                        Logger.Log("New test: " + testableName);
                        testcase = new Testcase {
                            Name = testableName, Type = testcaseType
                        };
                        _testcaseRepository.Store(testcase);
                    }
                    else if (!testcase.Name.Equals(testableName))
                    {
                        Logger.Log("Renamed test: " + testcase.Name + " to " + testableName);
                        testcase.Name = testableName;
                        _testcaseRepository.Store(testcase);
                    }
                }
                testcaseProvider.Unload();
            }
        }
Esempio n. 3
0
 void ISettingsService.StoreTestsystem(TestsystemDto testsystem)
 {
     _testsystemRepository.Store(Mapper.Map <Testsystem>(testsystem));
 }