def test_read_json(self): '''It should read in a json with basic info''' s = (b'{' b'"!":"BytestagFileInfo",' b'"hash":"jbip9t8iC9lEz3jndkm5I2fTWV0=",' b'"parts":["jbip9t8iC9lEz3jndkm5I2fTWV0="]' b'}') info = FileInfo.from_bytes(s) self.assertEqual(info.file_hash, KeyBytes('jbip9t8iC9lEz3jndkm5I2fTWV0=')) self.assertEqual(info.part_hashes, [KeyBytes('jbip9t8iC9lEz3jndkm5I2fTWV0=')]) result_bytes = info.to_bytes() self.assertEqual(s, result_bytes)
def test_read_json_extended(self): '''It should read in a json with extended info''' s = (b'{' b'"!":"BytestagFileInfo",' b'"filename":["my_file.txt"],' b'"hash":"jbip9t8iC9lEz3jndkm5I2fTWV0=",' b'"parts":["jbip9t8iC9lEz3jndkm5I2fTWV0="],' b'"size":123' b'}') info = FileInfo.from_bytes(s) self.assertEqual(info.file_hash, KeyBytes('jbip9t8iC9lEz3jndkm5I2fTWV0=')) self.assertEqual(info.part_hashes, [KeyBytes('jbip9t8iC9lEz3jndkm5I2fTWV0=')]) self.assertEqual(info.size, 123) self.assertEqual(info.filename, ['my_file.txt']) result_bytes = info.to_bytes() self.assertEqual(s, result_bytes)
def file_hash_info(self, kvpid): return FileInfo.from_bytes(self._get_file_hash_info(kvpid))