def test_bound_flat_dirs(self): """test directory is single level, with four data files""" dir_name1, dir_path1, dir_name2, dir_path2 = \ self.make_two_test_directories(ONE, FOUR) doc1 = MerkleDoc.create_from_file_system(dir_path1) # pylint: disable=no-member tree1 = doc1.tree # XXX This succeeds BUT pylint doesn't get this right: it sees # doc1.tree as a function self.assertTrue(isinstance(tree1, MerkleTree)) # pylint: disable=no-member self.assertEqual(dir_name1, tree1.name) self.assertTrue(doc1.bound) self.assertEqual(("tmp/%s" % dir_name1), dir_path1) # pylint: disable=no-member nodes1 = tree1.nodes self.assertTrue(nodes1 is not None) self.assertEqual(FOUR, len(nodes1)) self.verify_tree_sha256(tree1, dir_path1) doc2 = MerkleDoc.create_from_file_system(dir_path2) tree2 = doc2.tree # pylint: disable=no-member self.assertEqual(dir_name2, tree2.name) self.assertTrue(doc2.bound) self.assertEqual(("tmp/%s" % dir_name2), dir_path2) # pylint: disable=no-member nodes2 = tree2.nodes self.assertTrue(nodes2 is not None) self.assertEqual(FOUR, len(nodes2)) self.verify_tree_sha256(tree2, dir_path2) # pylint: disable=no-member self.assertTrue(tree1.equal(tree1)) # pylint: disable=no-member self.assertFalse(tree1.equal(tree2)) # pylint: disable=no-member self.assertFalse(tree1.equal(None)) doc1_str = doc1.to_string() doc1_rebuilt = MerkleDoc.create_from_serialization(doc1_str) self.assertTrue(doc1.equal(doc1_rebuilt)) # MANGO
def test_bound_needle_dirs(self): """test directories four deep with one data file at the lowest level""" (dir_name1, dir_path1, dir_name2, dir_path2) =\ self.make_two_test_directories(FOUR, ONE) doc1 = MerkleDoc.create_from_file_system(dir_path1) tree1 = doc1.tree # XXX This succeeds BUT pylint doesn't get this right: it sees # doc1.tree as a function self.assertTrue(isinstance(tree1, MerkleTree)) # pylint: disable=no-member self.assertEqual(dir_name1, tree1.name) self.assertTrue(doc1.bound) self.assertEqual(("tmp/%s" % dir_name1), dir_path1) # pylint: disable=no-member nodes1 = tree1.nodes self.assertTrue(nodes1 is not None) self.assertEqual(ONE, len(nodes1)) self.verify_tree_sha256(tree1, dir_path1) doc2 = MerkleDoc.create_from_file_system(dir_path2) tree2 = doc2.tree # pylint: disable=no-member self.assertEqual(dir_name2, tree2.name) self.assertTrue(doc2.bound) self.assertEqual(("tmp/%s" % dir_name2), dir_path2) # pylint: disable=no-member nodes2 = tree2.nodes self.assertTrue(nodes2 is not None) self.assertEqual(ONE, len(nodes2)) self.verify_tree_sha256(tree2, dir_path2) self.assertTrue(doc1.equal(doc1)) self.assertFalse(doc1.equal(doc2)) doc1_str = doc1.to_string() doc1_rebuilt = MerkleDoc.create_from_serialization(doc1_str) # # DEBUG # print "needle doc:\n" + doc1Str # print "rebuilt needle doc:\n" + doc1Rebuilt.toString() # # END self.assertTrue(doc1.equal(doc1_rebuilt)) # FOO
def test_bound_flat_dirs(self): """test directory is single level, with four data files""" dir_name1, dir_path1, dir_name2, dir_path2 = \ self.make_two_test_directories(ONE, FOUR) doc1 = MerkleDoc.create_from_file_system(dir_path1) # pylint: disable=no-member tree1 = doc1.tree self.assertTrue(isinstance(tree1, MerkleTree)) # pylint: disable=no-member self.assertEqual(dir_name1, tree1.name) self.assertTrue(doc1.bound) self.assertEqual(("tmp/%s" % dir_name1), dir_path1) # pylint: disable=no-member nodes1 = tree1.nodes self.assertTrue(nodes1 is not None) self.assertEqual(FOUR, len(nodes1)) self.verify_tree_sha256(tree1, dir_path1) doc2 = MerkleDoc.create_from_file_system(dir_path2) tree2 = doc2.tree # pylint: disable=no-member self.assertEqual(dir_name2, tree2.name) self.assertTrue(doc2.bound) self.assertEqual(("tmp/%s" % dir_name2), dir_path2) # pylint: disable=no-member nodes2 = tree2.nodes self.assertTrue(nodes2 is not None) self.assertEqual(FOUR, len(nodes2)) self.verify_tree_sha256(tree2, dir_path2) # pylint: disable=no-member self.assertTrue(tree1 == tree1) # pylint: disable=no-member self.assertFalse(tree1 == tree2) # pylint: disable=no-member self.assertFalse(tree1 is None) doc1_str = doc1.to_string() doc1_rebuilt = MerkleDoc.create_from_serialization(doc1_str) self.assertTrue(doc1 == doc1_rebuilt)
def do_test_bound_flat_dirs(self, hashtype): """ Test two flat directories with the specified hash type. """ (dir_name1, dir_path1, dir_name2, dir_path2) =\ self.make_two_test_directories(ONE, FOUR) doc1 = MerkleDoc.create_from_file_system(dir_path1, hashtype) tree1 = doc1.tree self.assertTrue(isinstance(tree1, MerkleTree)) # pylint: disable=no-member self.assertEqual(dir_name1, tree1.name) self.assertTrue(doc1.bound) self.assertEqual(("tmp/%s" % dir_name1), dir_path1) # pylint: disable=no-member nodes1 = tree1.nodes self.assertTrue(nodes1 is not None) self.assertEqual(FOUR, len(nodes1)) self.verify_tree_hash(tree1, dir_path1, hashtype) doc2 = MerkleDoc.create_from_file_system(dir_path2, hashtype) tree2 = doc2.tree # pylint: disable=no-member self.assertEqual(dir_name2, tree2.name) self.assertTrue(doc2.bound) self.assertEqual(("tmp/%s" % dir_name2), dir_path2) # pylint: disable=no-member nodes2 = tree2.nodes self.assertTrue(nodes2 is not None) self.assertEqual(FOUR, len(nodes2)) self.verify_tree_hash(tree2, dir_path2, hashtype) self.assertEqual(tree1, tree1) self.assertFalse(tree1 == tree2) self.assertFalse(tree1 is None) doc1_str = doc1.to_string() doc1_rebuilt = MerkleDoc.create_from_serialization(doc1_str, hashtype) # DEBUG # print("flat doc:\n" + doc1Str) # print("rebuilt flat doc:\n" + doc1Rebuilt.toString()) # END self.assertTrue(doc1 == doc1_rebuilt)
def test_bound_needle_dirs(self): """test directories four deep with one data file at the lowest level""" (dir_name1, dir_path1, dir_name2, dir_path2) =\ self.make_two_test_directories(FOUR, ONE) doc1 = MerkleDoc.create_from_file_system(dir_path1) tree1 = doc1.tree self.assertTrue(isinstance(tree1, MerkleTree)) # pylint: disable=no-member self.assertEqual(dir_name1, tree1.name) self.assertTrue(doc1.bound) self.assertEqual(("tmp/%s" % dir_name1), dir_path1) # pylint: disable=no-member nodes1 = tree1.nodes self.assertTrue(nodes1 is not None) self.assertEqual(ONE, len(nodes1)) self.verify_tree_sha256(tree1, dir_path1) doc2 = MerkleDoc.create_from_file_system(dir_path2) tree2 = doc2.tree # pylint: disable=no-member self.assertEqual(dir_name2, tree2.name) self.assertTrue(doc2.bound) self.assertEqual(("tmp/%s" % dir_name2), dir_path2) # pylint: disable=no-member nodes2 = tree2.nodes self.assertTrue(nodes2 is not None) self.assertEqual(ONE, len(nodes2)) self.verify_tree_sha256(tree2, dir_path2) self.assertTrue(doc1 == doc1) self.assertFalse(doc1 == doc2) doc1_str = doc1.to_string() doc1_rebuilt = MerkleDoc.create_from_serialization(doc1_str) # # DEBUG # print "needle doc:\n" + doc1Str # print "rebuilt needle doc:\n" + doc1Rebuilt.toString() # # END self.assertTrue(doc1 == doc1_rebuilt) # FOO
def do_test_bound_needle_dirs(self, hashtype): """ Run tests on two deeper directories. """ check_hashtype(hashtype) (dir_name1, dir_path1, dir_name2, dir_path2) =\ self.make_two_test_directories(FOUR, ONE) doc1 = MerkleDoc.create_from_file_system(dir_path1, hashtype) tree1 = doc1.tree # pylint: disable=no-member self.assertEqual(dir_name1, tree1.name) self.assertTrue(doc1.bound) self.assertEqual(("tmp/%s" % dir_name1), dir_path1) # pylint: disable=no-member nodes1 = tree1.nodes self.assertTrue(nodes1 is not None) self.assertEqual(ONE, len(nodes1)) self.verify_tree_hash(tree1, dir_path1, hashtype) doc2 = MerkleDoc.create_from_file_system(dir_path2, hashtype) tree2 = doc2.tree # pylint: disable=no-member self.assertEqual(dir_name2, tree2.name) self.assertTrue(doc2.bound) self.assertEqual(("tmp/%s" % dir_name2), dir_path2) # pylint: disable=no-member nodes2 = tree2.nodes self.assertTrue(nodes2 is not None) self.assertEqual(ONE, len(nodes2)) self.verify_tree_hash(tree2, dir_path2, hashtype) self.assertTrue(doc1 == doc1) self.assertFalse(doc1 == doc2) doc1_str = doc1.to_string() doc1_rebuilt = MerkleDoc.create_from_serialization(doc1_str, hashtype) # # DEBUG # print "needle doc:\n" + doc1Str # print "rebuilt needle doc:\n" + doc1Rebuilt.toString() # # END self.assertTrue(doc1 == doc1_rebuilt)