X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/b9055c7fc8caed025fd28c12532bd462edb8c78d..caaa4304f09a3d446f0677ac7203ef429170e7e0:/lib/vstorage/tests.py?ds=sidebyside diff --git a/lib/vstorage/tests.py b/lib/vstorage/tests.py index 23375f06..25e2b062 100644 --- a/lib/vstorage/tests.py +++ b/lib/vstorage/tests.py @@ -12,9 +12,6 @@ from nose.core import runmodule import vstorage -NULL_PARENT = -1 - - def clear_directory(top): for root, dirs, files in os.walk(top, topdown=False): for name in files: @@ -46,11 +43,12 @@ class TestVersionedStorage(object): text=text, author=author, comment=comment, - parent=NULL_PARENT, + parent=None, ) - saved = self.repo.open_page(title).read() - assert_equal(saved, text) + saved_text, rev = self.repo.page_text(title) + assert_equal(saved_text, text) + assert_equal(rev, 0) def test_save_text_noparent(self): text = u"test text" @@ -62,8 +60,10 @@ class TestVersionedStorage(object): text=text, author=author, comment=comment, parent=None) - saved = self.repo.open_page(title).read() - assert_equal(saved, text) + + saved_text, rev = self.repo.page_text(title) + assert_equal(saved_text, text) + assert_equal(rev, 0) def test_save_merge_no_conflict(self): text = u"test\ntext" @@ -72,12 +72,14 @@ class TestVersionedStorage(object): comment = u"test comment" self.repo.save_text(title=title, text=text, author=author, - comment=comment, parent=NULL_PARENT) + comment=comment, parent=None) self.repo.save_text(title=title, text=text, author=author, - comment=comment, parent=NULL_PARENT) - saved = self.repo.open_page(title).read() - assert_equal(saved, text) + comment=comment, parent=None) + + saved_text, rev = self.repo.page_text(title) + assert_equal(saved_text, text) + assert_equal(rev, 0) def test_save_merge_line_conflict(self): text = u"test\ntest\n" @@ -89,20 +91,27 @@ class TestVersionedStorage(object): self.repo.save_text(title=title, text=text, author=author, - comment=comment, parent=NULL_PARENT) + comment=comment, parent=None) + + saved_text, rev = self.repo.page_text(title) + assert_equal(saved_text, text) + assert_equal(rev, 0) self.repo.save_text(title=title, text=text1, author=author, comment=comment, parent=0) + saved_text, rev = self.repo.page_text(title) + assert_equal(saved_text, text1) + assert_equal(rev, 1) + self.repo.save_text(title=title, text=text2, author=author, comment=comment, parent=0) - saved = self.repo.open_page(title).read() - + saved_text, rev = self.repo.page_text(title) # Other conflict markers placement can also be correct - assert_equal(saved, u'''\ + assert_equal(saved_text, u'''\ text test <<<<<<< local @@ -118,17 +127,17 @@ text comment = u"test comment" self.repo.save_text(title=title, text=text, author=author, - comment=comment, parent=NULL_PARENT) + comment=comment, parent=None) - assert title in self.repo + ok_(title in self.repo, "Document not in repository.") self.repo.delete_page(title, author, comment) - assert title not in self.repo + ok_(title not in self.repo, "Document in repository after delete") @raises(vstorage.DocumentNotFound) def test_document_not_found(self): - self.repo.open_page(u'unknown entity') + self.repo.page_text(u'unknown entity') def test_open_existing_repository(self): self.repo.save_text(title=u'Python!', text=u'ham and spam') @@ -153,6 +162,24 @@ text assert_equal(entry["description"], COMMITS[n]["comment"]) assert_equal(entry["tag"], []) + def test_data_revert(self): + COMMITS = [ + {u"title": u"one", "author": "bunny", "text":"1.1", "comment": "1"}, + {u"title": u"one", "author": "frank", "text":"1.2", "comment": "2"}, + {u"title": u"two", "author": "bunny", "text":"2.1", "comment": "3"}, + {u"title": u"one", "author": "frank", "text":"1.3", "comment": "4"}, + ] + + for commit in COMMITS: + self.repo.save_text(**commit) + + # now revert last change on one + self.repo.revert(u"one", 0) + assert_equal(self.repo.page_text(u"one"), (u"1.1", 3)) + assert_equal(self.repo.page_text(u"two"), (u"2.1", 0)) + + self.repo.revert(u"one", 2) + assert_equal(self.repo.page_text(u"one"), (u"1.3", 4)) class TestVSTags(object): @@ -212,7 +239,3 @@ class TestVSTags(object): for entry in reversed(history): expected = [tag[1] for tag in tags if tag[0] == entry["version"]] assert_equal(set(entry["tag"]), set(expected)) - - -if __name__ == '__main__': - runmodule()