Пример #1
0
 private void CreateOrUpdateModuleLevelSuite(TestSuite projectSuite, RQMProject project)
 {
     IList<RQMModule> modules = RQMServer.GetModulesOfProject(project);
     IList<TestSuite> moduleSuites = TestSuite.GetAllSubSuites(projectSuite);
     //disable all the module level suites firstly
     projectSuite.DisableSubTestSuites();
     //iterate all the modules in RQM server, enable the existing one and add new ones
     foreach (RQMModule m in modules)
     {
         TestSuite moduleSuite = moduleSuites.Where(s => s.Name == m.Title).FirstOrDefault();
         if (null == moduleSuite)
         {
             //add module suite
             TestSuite temp = new TestSuite
             {
                 Name = m.Title,
                 ProviderId = Provider.ProviderId,
                 IsActive = true,
                 Description = string.Format("Title=Module {0} in RQM, Type={1}", m.Title, SuiteType.Static.ToString()),
                 TestCases = null,
                 SubSuites = null,
                 CreateBy = 0,
                 ModityBy = 0,
             };
             moduleSuite = TestSuite.CreateSuite(temp);
             projectSuite.AddSubTestSuite(moduleSuite.SuiteId);
             CreateOrUpdateFeatureLevelSuite(moduleSuite, project);
         }
         else
         {
             moduleSuite.IsActive = true;
             moduleSuite.ProviderId = Provider.ProviderId;
             moduleSuite.Update();
             CreateOrUpdateFeatureLevelSuite(moduleSuite, project);
         }
     }
 }
Пример #2
0
 private void CreateOrUpdateProjectLevelSuite(TestSuite suite)
 {
     IList<RQMProject> projects = RQMServer.GetAllProjects();
     List<TestSuite> suites = TestSuite.GetAllSubSuites(suite);
     RQMProject project = projects.Where(p => p.Alias == this.ProjectAlias).FirstOrDefault();
     if (null != project)
     {
         TestSuite projectSuite = suites.Where(s => s.Name == project.Title).FirstOrDefault();
         if (null == projectSuite)
         {
             TestSuite temp = new TestSuite
             {
                 Name = project.Title,
                 ProviderId = Provider.ProviderId,
                 IsActive = true,
                 Description = string.Format("Title=Project {0} in RQM, Type={1}", project.Title, SuiteType.Static.ToString()),
                 CreateBy = 0,
                 Type = 0,
                 SubSuites = null,
                 TestCases = null,
             };
             projectSuite = TestSuite.CreateSuite(temp);
             suite.AddSubTestSuite(projectSuite.SuiteId);
             CreateOrUpdateModuleLevelSuite(projectSuite, project);
         }
         else
         {
             //we don't remove the project from the hierarchy even it doesn't exist on RQM
             //because not all the project are on RQM and we may have some customized project
             CreateOrUpdateModuleLevelSuite(projectSuite, project);
         }
     }
 }
Пример #3
0
        private void CreateOrUpdateFeatureLevelSuite(TestSuite moduleSuite, RQMProject project)
        {
            IList<RQMFeature> modules = RQMServer.GetFeaturesOfProject(project);
            IList<TestSuite> featureSuites = TestSuite.GetAllSubSuites(moduleSuite);
            moduleSuite.DisableSubTestSuites();
            RQMFeature module = modules.Where(m => m.Title == moduleSuite.Name).FirstOrDefault();
            if (null != module)
            {
                IList<RQMFeature> features = module.SubFeatures;
                foreach (RQMFeature feature in features)
                {
                    TestSuite featureSuite = featureSuites.Where(s => s.Name == feature.Title).FirstOrDefault();
                    if (null == featureSuite)
                    {
                        TestSuite temp = new TestSuite
                        {
                            Name = feature.Title,
                            ProviderId = Provider.ProviderId,
                            IsActive = true,
                            TestCases = null,
                            SubSuites = null,
                            Description = string.Format("Title=Feature {0} in RQM, Type={1}", feature.Title, SuiteType.Static.ToString()),
                            CreateBy = 0,
                            ModityBy = 0,
                        };
                        featureSuite = TestSuite.CreateSuite(temp);
                        moduleSuite.AddSubTestSuite(featureSuite.SuiteId);
                    }
                    else
                    {
                        featureSuite.IsActive = true;
                        featureSuite.ProviderId = Provider.ProviderId;
                        featureSuite.Update();
                    }
                }
            }
            else
            {

            }
        }