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(); } }
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); }
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); }
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++; }