1import json
2import unittest
3from util import *
4
5class PSETTests(unittest.TestCase):
6
7    def test_serialization(self):
8        """Testing serialization and deserialization"""
9
10        with open(root_dir + 'src/data/pset.json', 'r') as f:
11            d = json.load(f)
12            valids = d['valid']
13
14        for valid in valids:
15            psbt_out = pointer(wally_psbt())
16            self.assertEqual(WALLY_OK, wally_psbt_from_base64(utf8(valid['pset']), psbt_out))
17            ret, b64 = wally_psbt_to_base64(psbt_out, 0)
18            self.assertEqual(WALLY_OK, ret)
19            self.assertEqual(valid['pset'], b64)
20            ret, length = wally_psbt_get_length(psbt_out, 0)
21            self.assertEqual(WALLY_OK, ret)
22            self.assertEqual(length, valid['len'])
23
24
25if __name__ == '__main__':
26    _, val = wally_is_elements_build()
27    if val != 0:
28        unittest.main()
29