Zcash changes to test_transaction.py, test_util.py
This commit is contained in:
parent
b1776f311d
commit
1be473468d
|
@ -57,7 +57,7 @@ class TestTransaction(unittest.TestCase):
|
|||
expected = {
|
||||
'inputs': [{
|
||||
'type': 'p2pkh',
|
||||
'address': '1446oU3z268EeFgfcwJv6X2VBXHfoYxfuD',
|
||||
'address': 't1LvhooU7zQuqEtjZZN83EL8QSBUkd8WkHR',
|
||||
'num_sig': 1,
|
||||
'prevout_hash': '3140eb24b43386f35ba69e3875eb6c93130ac66201d01c58f598defc949a5c2a',
|
||||
'prevout_n': 0,
|
||||
|
@ -68,7 +68,7 @@ class TestTransaction(unittest.TestCase):
|
|||
'x_pubkeys': ['ff0488b21e03ef2afea18000000089689bff23e1e7fb2f161daa37270a97a3d8c2e537584b2d304ecb47b86d21fc021b010d3bd425f8cf2e04824bfdf1f1f5ff1d51fadd9a41f9e3fb8dd3403b1bfe00000000']}],
|
||||
'lockTime': 0,
|
||||
'outputs': [{
|
||||
'address': '14CHYaaByjJZpx4oHBpfDMdqhTyXnZ3kVs',
|
||||
'address': 't1M4tYuzKx46ARb7hDcdnMAjkx8Acdrbd9Z',
|
||||
'prevout_n': 0,
|
||||
'scriptPubKey': '76a914230ac37834073a42146f11ef8414ae929feaafc388ac',
|
||||
'type': TYPE_ADDRESS,
|
||||
|
@ -80,12 +80,12 @@ class TestTransaction(unittest.TestCase):
|
|||
self.assertEqual(tx.deserialize(), None)
|
||||
|
||||
self.assertEqual(tx.as_dict(), {'hex': unsigned_blob, 'complete': False, 'final': True})
|
||||
self.assertEqual(tx.get_outputs(), [('14CHYaaByjJZpx4oHBpfDMdqhTyXnZ3kVs', 1000000)])
|
||||
self.assertEqual(tx.get_output_addresses(), ['14CHYaaByjJZpx4oHBpfDMdqhTyXnZ3kVs'])
|
||||
self.assertEqual(tx.get_outputs(), [('t1M4tYuzKx46ARb7hDcdnMAjkx8Acdrbd9Z', 1000000)])
|
||||
self.assertEqual(tx.get_output_addresses(), ['t1M4tYuzKx46ARb7hDcdnMAjkx8Acdrbd9Z'])
|
||||
|
||||
self.assertTrue(tx.has_address('14CHYaaByjJZpx4oHBpfDMdqhTyXnZ3kVs'))
|
||||
self.assertTrue(tx.has_address('1446oU3z268EeFgfcwJv6X2VBXHfoYxfuD'))
|
||||
self.assertFalse(tx.has_address('1CQj15y1N7LDHp7wTt28eoD1QhHgFgxECH'))
|
||||
self.assertTrue(tx.has_address('t1M4tYuzKx46ARb7hDcdnMAjkx8Acdrbd9Z'))
|
||||
self.assertTrue(tx.has_address('t1LvhooU7zQuqEtjZZN83EL8QSBUkd8WkHR'))
|
||||
self.assertFalse(tx.has_address('t1VHL1RP9LS7otTAqQJqFncJvfMUkwHriZr'))
|
||||
|
||||
self.assertEqual(tx.serialize(), unsigned_blob)
|
||||
|
||||
|
@ -101,7 +101,7 @@ class TestTransaction(unittest.TestCase):
|
|||
expected = {
|
||||
'inputs': [{
|
||||
'type': 'p2pkh',
|
||||
'address': '1446oU3z268EeFgfcwJv6X2VBXHfoYxfuD',
|
||||
'address': 't1LvhooU7zQuqEtjZZN83EL8QSBUkd8WkHR',
|
||||
'num_sig': 1,
|
||||
'prevout_hash': '3140eb24b43386f35ba69e3875eb6c93130ac66201d01c58f598defc949a5c2a',
|
||||
'prevout_n': 0,
|
||||
|
@ -112,7 +112,7 @@ class TestTransaction(unittest.TestCase):
|
|||
'x_pubkeys': ['02e61d176da16edd1d258a200ad9759ef63adf8e14cd97f53227bae35cdb84d2f6']}],
|
||||
'lockTime': 0,
|
||||
'outputs': [{
|
||||
'address': '14CHYaaByjJZpx4oHBpfDMdqhTyXnZ3kVs',
|
||||
'address': 't1M4tYuzKx46ARb7hDcdnMAjkx8Acdrbd9Z',
|
||||
'prevout_n': 0,
|
||||
'scriptPubKey': '76a914230ac37834073a42146f11ef8414ae929feaafc388ac',
|
||||
'type': TYPE_ADDRESS,
|
||||
|
@ -142,7 +142,7 @@ class TestTransaction(unittest.TestCase):
|
|||
|
||||
def test_parse_xpub(self):
|
||||
res = xpubkey_to_address('fe4e13b0f311a55b8a5db9a32e959da9f011b131019d4cebe6141b9e2c93edcbfc0954c358b062a9f94111548e50bde5847a3096b8b7872dcffadb0e9579b9017b01000200')
|
||||
self.assertEqual(res, ('04ee98d63800824486a1cf5b4376f2f574d86e0a3009a6448105703453f3368e8e1d8d090aaecdd626a45cc49876709a3bbb6dc96a4311b3cac03e225df5f63dfc', '19h943e4diLc68GXW7G75QNe2KWuMu7BaJ'))
|
||||
self.assertEqual(res, ('04ee98d63800824486a1cf5b4376f2f574d86e0a3009a6448105703453f3368e8e1d8d090aaecdd626a45cc49876709a3bbb6dc96a4311b3cac03e225df5f63dfc', 't1SZk4P4Cc38CgmKRSY5EDDUZGyhzA66iHH'))
|
||||
|
||||
def test_version_field(self):
|
||||
tx = transaction.Transaction(v2_blob)
|
||||
|
|
|
@ -23,48 +23,48 @@ class TestUtil(unittest.TestCase):
|
|||
self.assertEqual(expected, result)
|
||||
|
||||
def test_parse_URI_address(self):
|
||||
self._do_test_parse_URI('bitcoin:15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma',
|
||||
{'address': '15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma'})
|
||||
self._do_test_parse_URI('zcash:t1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S',
|
||||
{'address': 't1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S'})
|
||||
|
||||
def test_parse_URI_only_address(self):
|
||||
self._do_test_parse_URI('15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma',
|
||||
{'address': '15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma'})
|
||||
self._do_test_parse_URI('t1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S',
|
||||
{'address': 't1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S'})
|
||||
|
||||
|
||||
def test_parse_URI_address_label(self):
|
||||
self._do_test_parse_URI('bitcoin:15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma?label=electrum%20test',
|
||||
{'address': '15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma', 'label': 'electrum test'})
|
||||
self._do_test_parse_URI('zcash:t1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S?label=electrum%20test',
|
||||
{'address': 't1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S', 'label': 'electrum test'})
|
||||
|
||||
def test_parse_URI_address_message(self):
|
||||
self._do_test_parse_URI('bitcoin:15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma?message=electrum%20test',
|
||||
{'address': '15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma', 'message': 'electrum test', 'memo': 'electrum test'})
|
||||
self._do_test_parse_URI('zcash:t1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S?message=electrum%20test',
|
||||
{'address': 't1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S', 'message': 'electrum test', 'memo': 'electrum test'})
|
||||
|
||||
def test_parse_URI_address_amount(self):
|
||||
self._do_test_parse_URI('bitcoin:15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma?amount=0.0003',
|
||||
{'address': '15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma', 'amount': 30000})
|
||||
self._do_test_parse_URI('zcash:t1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S?amount=0.0003',
|
||||
{'address': 't1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S', 'amount': 30000})
|
||||
|
||||
def test_parse_URI_address_request_url(self):
|
||||
self._do_test_parse_URI('bitcoin:15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma?r=http://domain.tld/page?h%3D2a8628fc2fbe',
|
||||
{'address': '15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma', 'r': 'http://domain.tld/page?h=2a8628fc2fbe'})
|
||||
self._do_test_parse_URI('zcash:t1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S?r=http://domain.tld/page?h%3D2a8628fc2fbe',
|
||||
{'address': 't1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S', 'r': 'http://domain.tld/page?h=2a8628fc2fbe'})
|
||||
|
||||
def test_parse_URI_ignore_args(self):
|
||||
self._do_test_parse_URI('bitcoin:15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma?test=test',
|
||||
{'address': '15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma', 'test': 'test'})
|
||||
self._do_test_parse_URI('zcash:t1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S?test=test',
|
||||
{'address': 't1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S', 'test': 'test'})
|
||||
|
||||
def test_parse_URI_multiple_args(self):
|
||||
self._do_test_parse_URI('bitcoin:15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma?amount=0.00004&label=electrum-test&message=electrum%20test&test=none&r=http://domain.tld/page',
|
||||
{'address': '15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma', 'amount': 4000, 'label': 'electrum-test', 'message': u'electrum test', 'memo': u'electrum test', 'r': 'http://domain.tld/page', 'test': 'none'})
|
||||
self._do_test_parse_URI('zcash:t1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S?amount=0.00004&label=electrum-test&message=electrum%20test&test=none&r=http://domain.tld/page',
|
||||
{'address': 't1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S', 'amount': 4000, 'label': 'electrum-test', 'message': u'electrum test', 'memo': u'electrum test', 'r': 'http://domain.tld/page', 'test': 'none'})
|
||||
|
||||
def test_parse_URI_no_address_request_url(self):
|
||||
self._do_test_parse_URI('bitcoin:?r=http://domain.tld/page?h%3D2a8628fc2fbe',
|
||||
self._do_test_parse_URI('zcash:?r=http://domain.tld/page?h%3D2a8628fc2fbe',
|
||||
{'r': 'http://domain.tld/page?h=2a8628fc2fbe'})
|
||||
|
||||
def test_parse_URI_invalid_address(self):
|
||||
self.assertRaises(BaseException, parse_URI, 'bitcoin:invalidaddress')
|
||||
self.assertRaises(BaseException, parse_URI, 'zcash:invalidaddress')
|
||||
|
||||
def test_parse_URI_invalid(self):
|
||||
self.assertRaises(BaseException, parse_URI, 'notbitcoin:15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma')
|
||||
self.assertRaises(BaseException, parse_URI, 'notzcash:t1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S')
|
||||
|
||||
def test_parse_URI_parameter_polution(self):
|
||||
self.assertRaises(Exception, parse_URI, 'bitcoin:15mKKb2eos1hWa6tisdPwwDC1a5J1y9nma?amount=0.0003&label=test&amount=30.0')
|
||||
self.assertRaises(Exception, parse_URI, 'zcash:t1NdvKvSnnBoJ7D9nfJSX5kK7GEGNs1bY4S?amount=0.0003&label=test&amount=30.0')
|
||||
|
||||
|
|
Loading…
Reference in New Issue