def test_find_connected_with_deps(self): member = _make_test_entity_member() dep_grph = \ build_resource_dependency_graph(self._interfaces, include_backrefs=True) coll_map = find_connected_resources(member, dependency_graph=dep_grph) # Backrefs should not make a difference since we check for duplicates. for coll in coll_map.itervalues(): self.assert_equal(len(coll), 1)
def test_find_connected_with_custom_deps(self): member = _make_test_entity_member() ent = member.get_entity() # Point grandchild's parent to new child. new_child = MyEntityChild(id=1, parent=ent) ent.children[0].children[0].parent = new_child # When backrefs are excluded, we should not pick up the new parent # of the grandchild; when backrefs are included, we should. dep_grph = build_resource_dependency_graph(self._interfaces) self.assert_false(dep_grph.has_edge((MyEntityGrandchildMember, MyEntityChildMember))) coll_map = find_connected_resources(member) self.assert_equal(len(coll_map[MyEntityChildMember]), 1) dep_grph = \ build_resource_dependency_graph(self._interfaces, include_backrefs=True) self.assert_true(dep_grph.has_edge((MyEntityGrandchildMember, MyEntityChildMember))) coll_map = find_connected_resources(member, dependency_graph=dep_grph) self.assert_equal(len(coll_map[MyEntityChildMember]), 2)
def test_find_connected_with_member(self): member = _make_test_entity_member() coll_map = find_connected_resources(member) for coll in coll_map.itervalues(): self.assert_equal(len(coll), 1)