def testDecodeDecompressedSizeLimit(self): import zlib from ZTUtils.Tree import b2a big = b2a(zlib.compress(b'x' * (1024 * 1100))) self.assertTrue(len(big) < 8192) # Must be under the input size limit with self.assertRaises(ValueError): Tree.decodeExpansion(b':' + big)
def testEncodeDecode(self): treeroot1 = self.tm.tree(self.root, self.expansionmap) encoded = Tree.encodeExpansion(treeroot1.flat()) decodedmap = Tree.decodeExpansion(encoded) treeroot2 = self.tm.tree(self.root, decodedmap) self.assertEqual(treeroot1.size, treeroot2.size) self.assertEqual(len(treeroot1), len(treeroot2))
def testEncodeDecode(self): treeroot1 = self.tm.tree(self.root, self.expansionmap) encoded = Tree.encodeExpansion(treeroot1.flat()) self.assertFalse(encoded.find('\n') != -1) decodedmap = Tree.decodeExpansion(encoded) treeroot2 = self.tm.tree(self.root, decodedmap) self.assertEqual(treeroot1.size, treeroot2.size) self.assertEqual(len(treeroot1), len(treeroot2))
def testEncodedExpansionIdWithDot(self): # Regression test for Collector issue #603 # An encoded node ID with a first character with the first 6 bits set. item = Item('\xfcberbug!', (Item('b'), )) # 'uberbug!' with u-umlaut. treeroot1 = self.tm.tree(item) encoded = Tree.encodeExpansion(treeroot1.flat()) decodedmap = Tree.decodeExpansion(encoded) treeroot2 = self.tm.tree(item, decodedmap) self.assertEqual(treeroot1.size, treeroot2.size) self.assertEqual(len(treeroot1), len(treeroot2))
def testEncodedExpansionIdWithDot(self): # Regression test for Collector issue #603 # An encoded node ID with a first character with the first 6 bits set. item = Item('\xfcberbug!', (Item('b'),)) # 'uberbug!' with u-umlaut. treeroot1 = self.tm.tree(item) encoded = Tree.encodeExpansion(treeroot1.flat()) decodedmap = Tree.decodeExpansion(encoded) treeroot2 = self.tm.tree(item, decodedmap) self.assertEqual(treeroot1.size, treeroot2.size) self.assertEqual(len(treeroot1), len(treeroot2))
def testDecodeInputSizeLimit(self): with self.assertRaises(ValueError): Tree.decodeExpansion(b'x' * 10000)