def test_has_needed_dependencies(self): doc = self.doc0 cs1 = Changeset(doc.get_id(), 'user', [doc.get_root_changeset()]) assert doc.has_needed_dependencies(cs1) cs2 = Changeset(doc.get_id(), 'user', [cs1]) assert not doc.has_needed_dependencies(cs2) doc.receive_changeset(cs1) assert doc.has_needed_dependencies(cs2) cs3 = Changeset(doc.get_id(), 'user', [cs1, cs2]) assert not doc.has_needed_dependencies(cs3) doc.receive_changeset(cs2) assert doc.has_needed_dependencies(cs3) cs4 = Changeset(doc.get_id(), 'user', [cs3, "555"]) assert not doc.has_needed_dependencies(cs4) doc.receive_changeset(cs3) assert not doc.has_needed_dependencies(cs4) cs5 = Changeset(doc.get_id(), 'user', [cs1]) cs5.set_id("555") doc.receive_changeset(cs5) cs4.relink_changesets(doc.all_known_changesets) assert cs5 in cs4.get_parents() assert cs4.has_full_dependency_info() assert doc.has_needed_dependencies(cs4)
def test_has_full_dependency_info(self): # should always pass when it has no dependencies cs0 = Changeset('doc_id', 'user_id', []) assert cs0.has_full_dependency_info() cs1 = Changeset('doc_id', 'user_id', ['randomid']) assert not cs1.has_full_dependency_info() cs2 = Changeset('doc_id', 'user_id', [cs1]) assert cs2.has_full_dependency_info() cs3 = Changeset('doc_id', 'user_id', [cs2, 'otherrandomid']) assert not cs3.has_full_dependency_info() cs4 = Changeset('doc_id', 'user_id', [cs1]) cs5 = Changeset('doc_id', 'user_id', [cs4, cs3]) assert cs5.has_full_dependency_info() cs6 = Changeset('doc_id', 'user_id', [cs5, 'otherid']) assert not cs6.has_full_dependency_info()