def testFindAncestorComponents_NoMatch(self): config = tracker_bizobj.MakeDefaultProjectIssueConfig(789) cd = tracker_pb2.ComponentDef(component_id=1, path='UI>Splash') config.component_defs.append(tracker_pb2.ComponentDef( component_id=2, path='UI>AboutBox')) actual = tracker_bizobj.FindAncestorComponents(config, cd) self.assertEqual([], actual)
def testFindDescendantComponents_SomeMatch(self): config = tracker_bizobj.MakeDefaultProjectIssueConfig(789) cd = tracker_pb2.ComponentDef(component_id=1, path='UI') config.component_defs.append(cd) cd2 = tracker_pb2.ComponentDef(component_id=2, path='UI>Splash') config.component_defs.append(cd2) actual = tracker_bizobj.FindDescendantComponents(config, cd) self.assertEqual([cd2], actual)
def testFindComponentDefByID_MatchFound(self): config = tracker_bizobj.MakeDefaultProjectIssueConfig(789) cd = tracker_pb2.ComponentDef(component_id=1, path='UI>Splash') config.component_defs.append(cd) config.component_defs.append(tracker_pb2.ComponentDef( component_id=2, path='UI>AboutBox')) actual = tracker_bizobj.FindComponentDefByID(1, config) self.assertEqual(cd, actual)
def testFindComponentDefByID_NoMatch(self): config = tracker_bizobj.MakeDefaultProjectIssueConfig(789) config.component_defs.append(tracker_pb2.ComponentDef( component_id=1, path='UI>Splash')) config.component_defs.append(tracker_pb2.ComponentDef( component_id=2, path='UI>AboutBox')) actual = tracker_bizobj.FindComponentDefByID(999, config) self.assertIsNone(actual)
def testMakeComponentsAmendment_Normal(self): config = tracker_bizobj.MakeDefaultProjectIssueConfig(789) config.component_defs = [ tracker_pb2.ComponentDef(component_id=1, path='UI'), tracker_pb2.ComponentDef(component_id=2, path='DB')] self.assertEqual( tracker_bizobj.MakeAmendment( tracker_pb2.FieldID.COMPONENTS, '-UI DB', [], []), tracker_bizobj.MakeComponentsAmendment([2], [1], config))
def testGetIssueComponentsAndAncestors_AffectsSomeComponents(self): config = tracker_bizobj.MakeDefaultProjectIssueConfig(789) cd = tracker_pb2.ComponentDef(component_id=1, path='UI') config.component_defs.append(cd) cd2 = tracker_pb2.ComponentDef(component_id=2, path='UI>Splash') config.component_defs.append(cd2) issue = tracker_pb2.Issue(component_ids=[2]) actual = tracker_bizobj.GetIssueComponentsAndAncestors(issue, config) self.assertEqual([cd, cd2], actual)
def testFindMatchingComponentIDs_NoMatch(self): config = tracker_bizobj.MakeDefaultProjectIssueConfig(789) config.component_defs.append(tracker_pb2.ComponentDef( component_id=1, path='UI>Splash')) config.component_defs.append(tracker_pb2.ComponentDef( component_id=2, path='UI>AboutBox')) actual = tracker_bizobj.FindMatchingComponentIDs('DB', config) self.assertEqual([], actual) actual = tracker_bizobj.FindMatchingComponentIDs('DB', config, exact=False) self.assertEqual([], actual)
def testFindMatchingComponentIDs_MatchMultiple(self): config = tracker_bizobj.MakeDefaultProjectIssueConfig(789) config.component_defs.append(tracker_pb2.ComponentDef( component_id=1, path='UI>Splash')) config.component_defs.append(tracker_pb2.ComponentDef( component_id=2, path='UI>AboutBox')) config.component_defs.append(tracker_pb2.ComponentDef( component_id=22, path='UI>AboutBox')) config.component_defs.append(tracker_pb2.ComponentDef( component_id=3, path='DB>Attachments')) actual = tracker_bizobj.FindMatchingComponentIDs('UI>AboutBox', config) self.assertEqual([2, 22], actual) actual = tracker_bizobj.FindMatchingComponentIDs('UI', config, exact=False) self.assertEqual([1, 2, 22], actual)
def MakeComponentDef(component_id, project_id, path, docstring, deprecated, admin_ids, cc_ids, created, creator_id, modified=None, modifier_id=None, label_ids=None): """Make a ComponentDef PB for the given FieldDef table row tuple.""" cd = tracker_pb2.ComponentDef(component_id=component_id, project_id=project_id, path=path, docstring=docstring, deprecated=bool(deprecated), admin_ids=admin_ids, cc_ids=cc_ids, created=created, creator_id=creator_id, modified=modified, modifier_id=modifier_id, label_ids=label_ids or []) return cd
def testFindDescendantComponents_Empty(self): config = tracker_bizobj.MakeDefaultProjectIssueConfig(789) cd = tracker_pb2.ComponentDef(component_id=1, path='UI') actual = tracker_bizobj.FindDescendantComponents(config, cd) self.assertEqual([], actual)
def testFindComponentDef_MatchFound(self): config = tracker_bizobj.MakeDefaultProjectIssueConfig(789) cd = tracker_pb2.ComponentDef(path='UI>Splash') config.component_defs.append(cd) actual = tracker_bizobj.FindComponentDef('UI>Splash', config) self.assertEqual(cd, actual)