コード例 #1
0
        private void QueryTestCases()
        {
            // Set up the query.
            Query psQuery = new QueryClass();

            psQuery.CountOnly         = false;
            psQuery.SelectionCriteria = QUERY_ACTIVE;
            psQuery.DatastoreItemType = PsDatastoreItemTypeEnum.psDatastoreItemTypeTestCase;

            // Bind the query and Datastore to our
            // DatastoreItemList.
            DatastoreItemList psDataList = new DatastoreItemListClass();

            psDataList.Query     = psQuery;
            psDataList.Datastore = m_psDataStore;

            // Get the field definitions so we can specify
            // them in the result and sort list.
            // You can also use the GetEnumerator to
            // enumerate the fields.
            FieldDefinitions psFields = m_psDataStore.FieldDefinitions;

            foreach (FieldDefinition item in psFields)
            {
                Console.WriteLine(item.Name);
            }

            // Add fields with the FieldDefinitions indexer
            psQuery.QueryFields.Clear();
            for (int fieldCount = 0; fieldCount < TEST_CASE_FIELDS.Length; fieldCount++)
            {
                psQuery.QueryFields.Add(psFields[TEST_CASE_FIELDS[fieldCount]]);
            }

            // Add fields to sort by
            for (int fieldCount = 0; fieldCount < TEST_CASE_SORT.Length; fieldCount++)
            {
                psQuery.QuerySortFields.Add(
                    psFields[TEST_CASE_SORT[fieldCount]],
                    PsSortTypeEnum.psSortTypeAscending);
            }

            psDataList.Execute();
            foreach (DatastoreItem psItem in psDataList.DatastoreItems)
            {
                foreach (String name in TEST_CASE_FIELDS)
                {
                    Console.Write("{0}\t", psItem.Fields[name].Value);
                }
                Console.WriteLine();
            }
        }
コード例 #2
0
        private Hashtable CurrentTests()
        {
            // Set up the query.
            Query psQuery = new QueryClass();

            psQuery.CountOnly         = false;
            psQuery.SelectionCriteria = QUERY_ACTIVE;
            psQuery.DatastoreItemType = PsDatastoreItemTypeEnum.psDatastoreItemTypeTestCase;

            DatastoreItemList psDataList = new DatastoreItemListClass();

            psDataList.Query     = psQuery;
            psDataList.Datastore = m_psDataStore;
            FieldDefinitions psFields = m_psDataStore.FieldDefinitions;

            // Add fields with the FieldDefinitions indexer
            psQuery.QueryFields.Clear();
            for (int fieldCount = 0; fieldCount < TEST_CASE_FIELDS.Length; fieldCount++)
            {
                psQuery.QueryFields.Add(psFields[TEST_CASE_FIELDS[fieldCount]]);
            }

            // Add fields to sort by
            for (int fieldCount = 0; fieldCount < TEST_CASE_SORT.Length; fieldCount++)
            {
                psQuery.QuerySortFields.Add(
                    psFields[TEST_CASE_SORT[fieldCount]],
                    PsSortTypeEnum.psSortTypeAscending);
            }

            Hashtable res = new Hashtable();

            psDataList.Execute();
            foreach (DatastoreItem psItem in psDataList.DatastoreItems)
            {
                object module   = psItem.Fields["Test Module"].Value;
                object suite    = psItem.Fields["Test Suite"].Value;
                object testcase = psItem.Fields["TestCase"].Value;
                res[TestKey(module, suite, testcase)] = psItem.Fields["ID"].Value;
            }
            return(res);
        }
コード例 #3
0
        private void ExportProfile(string testType, string profileName)
        {
            // Set up the query.
            Query psQuery = new QueryClass();

            psQuery.CountOnly = false;
            string query = string.Format(QUERY_PROFILE, testType);

            //string query = QUERY_PROFILE;
            psQuery.SelectionCriteria = query;
            psQuery.DatastoreItemType = PsDatastoreItemTypeEnum.psDatastoreItemTypeTestCase;
            DatastoreItemList psDataList = new DatastoreItemListClass();

            psDataList.Query     = psQuery;
            psDataList.Datastore = m_psDataStore;

            // Get the field definitions so we can specify
            // them in the result and sort list.
            FieldDefinitions psFields = m_psDataStore.FieldDefinitions;

            // Add fields with the FieldDefinitions indexer
            psQuery.QueryFields.Clear();
            for (int fieldCount = 0; fieldCount < TEST_CASE_FIELDS.Length; fieldCount++)
            {
                psQuery.QueryFields.Add(psFields[TEST_CASE_FIELDS[fieldCount]]);
            }

            // Add fields to sort by
            for (int fieldCount = 0; fieldCount < TEST_CASE_SORT.Length; fieldCount++)
            {
                psQuery.QuerySortFields.Add(psFields[TEST_CASE_SORT[fieldCount]],
                                            PsSortTypeEnum.psSortTypeAscending);
            }

            psDataList.Execute();
            ExportCases(testType, profileName, psDataList.DatastoreItems);
        }
コード例 #4
0
        private void MakeTestCase(string module, string suite, string testcase)
        {
            string key = TestKey(module, suite, testcase);

            if (m_existing.ContainsKey(key))
            {
                m_existedCount++;
                return;
            }
            // Create a new datastore instance.
            DatastoreItemList psDataList = new DatastoreItemListClass();

            psDataList.Datastore = m_psDataStore;

            // Create a blank Test Case
            psDataList.CreateBlank(PsDatastoreItemTypeEnum.psDatastoreItemTypeTestCase);
            DatastoreItem psDataItem = psDataList.DatastoreItems.Add(null, PsApplyRulesMask.psApplyRulesAll);

            // Set fields for the Test Case
            Fields psFields = psDataItem.Fields;

            psFields["Title"].Value  = key;
            psFields["TreeID"].Value = TreeIDFromPath(m_psDataStore.RootNode, "OS");
            // psFields["TCMTreeID"].Value = -200;
            psFields["Test Status"].Value = "Active";
            //psFields["Test Priority"].Value = 2;
            psFields["Test Module"].Value = module;
            psFields["Test Suite"].Value  = suite;
            psFields["TestCase"].Value    = testcase;
            // psFields["Test Class"].Value = "Boundary";
            // psFields["Test Type"].Value = "Automatic";
            // psFields["Frequency"].Value = "Daily";
            psFields["Owner"].Value       = "Active";
            psFields["Description"].Value = "A test case generated from profile " + m_profile;

            //  Let's make sure all fields are valid before saving
            bool hasInvalidField = false;

            foreach (Field psField in psDataItem.Fields)
            {
                if (psField.Validity != PsFieldStatusEnum.psFieldStatusValid)
                {
                    hasInvalidField = true;
                    Console.WriteLine("Invalid Field '{0}': {1}", psField.Name, psField.Validity.ToString());
                    Console.WriteLine("Current Value: '{0}'", psField.Value);
                    Console.WriteLine();
                }
            }

            if (hasInvalidField)
            {
                throw (new ApplicationException("Invalid Field(s) were found.  Could not update."));
            }
            else
            {
                psDataItem.Save(true);
                int testCaseID = Convert.ToInt32(psFields["ID"].Value);
                Console.WriteLine("Test Case #{0} {1} Successfully Created.", testCaseID, key);
            }
            m_createdCount++;
        }