def print_links_for_requirement(self, req_id):
        req = Requirement(Requirement.default_project, req_id)
        print('ID%-12sRole' % (''))
        print('-------%7s------' % (''))

        for linked in req.linked_work_items_derived:
            print('%-13s %-13s' % (linked.work_item_id, linked.role))
Esempio n. 2
0
 def test_012_get_back_linked_work_items(self):
     req = Requirement(project_id=DEFAULT_PROJ,
                       work_item_id=self.work_item_id_2)
     items = req.get_back_linked_work_items()
     self.assertTrue(len(items) == 1)
     wi = items[0]
     self.assertEqual(wi.work_item_id, self.work_item_id)
Esempio n. 3
0
 def test_013_multiple_types(self):
     req = Requirement()
     tc = TestCase()
     with self.assertRaises(AttributeError):
         tc.reqtype
     with self.assertRaises(AttributeError):
         req.caseimportance
     req.title = "req1"
     tc.title = "tc1"
     self.assertNotEqual(req.title, tc.title)
 def test_custom_workitem(self):
     tc2 = TestCase(project_id=DEFAULT_PROJ, work_item_id=self.TEST_CASE_ID)
     self.assertIsNotNone(tc2.caseautomation)
     with self.assertRaises(PylarionLibException):
         tc2.caseautomation = "bad"
     tc2.caseautomation = "automated"
     # check for shared memory issue
     self.assertNotEqual(self.tc.caseautomation, tc2.caseautomation)
     req = Requirement()
     with self.assertRaises(PylarionLibException):
         req.reqtype = "bad"
     req.reqtype = 'functional'
Esempio n. 5
0
 def test_007_add_linked_work_item(self):
     tc = TestCase(project_id=DEFAULT_PROJ, work_item_id=self.work_item_id)
     self.assertTrue(tc.add_linked_item(self.work_item_id_2, "verifies"))
     tc2 = TestCase(project_id=DEFAULT_PROJ, work_item_id=self.work_item_id)
     self.assertTrue(len(tc2.linked_work_items) == 1)
     link = tc2.linked_work_items[0]
     self.assertEqual(link.work_item_id, self.work_item_id_2)
     self.assertEqual(link.role, "verifies")
     req3 = Requirement(project_id=DEFAULT_PROJ,
                        work_item_id=self.work_item_id_2)
     self.assertTrue(len(req3.linked_work_items_derived) == 1)
     link = req3.linked_work_items_derived[0]
     self.assertEqual(link.work_item_id, self.work_item_id)
     self.assertEqual(link.role, "verifies")
Esempio n. 6
0
def isRequirementInPolarion(bug_id, bug_project):
    #i was wrong you can search on hyperlink like this
    #select tc.c_id from WORKITEM tc inner join PROJECT on PROJECT.C_URI = tc.FK_URI_PROJECT left join struct_workitem_hyperlinks hlink on tc.c_uri=hlink.fk_uri_p_workitem where PROJECT.C_ID = 'Polarion' and tc.C_TYPE = 'requirement' and hlink.c_url LIKE '%1011755%'
    query_str = "SELECT tc.c_uri from WORKITEM tc join project proj on proj.c_uri=tc.fk_uri_project where proj.c_id='%s' and tc.c_title like ('BZ_id=%s%%') and tc.c_type = 'requirement'" % (bug_project, bug_id)
    for i in range(0, 10):  # WA for Polarion disconnection from time to time
        try:
            items = _WorkItem.query(query_str, is_sql=True, fields=["work_item_id", "title"])
            if len(items) > 0:
                for item in items:
                    tc = Requirement(uri=item.uri)
                    print "\n" + tc.work_item_id
                print "\nRequirement already in Polarion: " + str(bug_id)
                return True
            break
        except Exception as inst:
            print inst
            i += 1
            time.sleep(10)

    return False