Hush Full Node software. We were censored from Github, this is where all development happens now.
https://hush.is
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
4.1 KiB
114 lines
4.1 KiB
import sys
|
|
sys.path.append('../../src/tui')
|
|
|
|
from lib import tuilib
|
|
import unittest
|
|
|
|
'''
|
|
specify chain ticker (daemon should be up), wif which will be imported and address to which you want to broadcast
|
|
added 1 second sleep after each case to surely not face the nSPV server limitation (1 call/second)
|
|
'''
|
|
|
|
wif = ''
|
|
dest_address = 'RMjy5VkHFJkXTJDTJ3XX1zVzukP48sKyva'
|
|
amount = '0.1'
|
|
chain = 'ILN'
|
|
|
|
rpc_proxy = tuilib.def_credentials(chain)
|
|
|
|
|
|
class TestNspvClient(unittest.TestCase):
|
|
|
|
def test_nspv_getinfo(self):
|
|
print("testing nspv_getinfo")
|
|
result = rpc_proxy.nspv_getinfo()
|
|
self.assertEqual(result["result"], "success")
|
|
self.assertGreater(result["height"], 2689)
|
|
time.sleep(1)
|
|
|
|
def test_nspv_notarizations(self):
|
|
print("testing nspv_notarizations")
|
|
result = rpc_proxy.nspv_notarizations("2000")
|
|
self.assertEqual(result["result"], "success")
|
|
self.assertEqual(result["prev"]["notarized_height"], 1998)
|
|
self.assertEqual(result["next"]["notarized_height"], 2002)
|
|
time.sleep(1)
|
|
|
|
def test_nspv_hdrsproof(self):
|
|
print("testing nspv_hdrsproof")
|
|
result = rpc_proxy.nspv_hdrsproof("2000", "2100")
|
|
self.assertEqual(result["result"], "success")
|
|
self.assertEqual(result["numhdrs"], 101)
|
|
time.sleep(1)
|
|
|
|
def test_nspv_login(self):
|
|
print("testing nspv_login")
|
|
result = rpc_proxy.nspv_login(wif)
|
|
self.assertEqual(result["result"], "success")
|
|
self.assertEqual(result["status"], "wif will expire in 777 seconds")
|
|
time.sleep(1)
|
|
|
|
def test_nspv_listunspent(self):
|
|
print("testing nspv_listunspent")
|
|
result = rpc_proxy.nspv_listunspent()
|
|
self.assertEqual(result["result"], "success")
|
|
time.sleep(1)
|
|
result = rpc_proxy.nspv_listunspent("RQ1mvCUcziWzRwE8Ugtex29VjoFjRzxQJT")
|
|
self.assertEqual(result["result"], "error")
|
|
|
|
def test_nspv_spend(self):
|
|
print("testing nspv_spend")
|
|
result = rpc_proxy.nspv_login(wif)
|
|
result = rpc_proxy.nspv_spend(dest_address, amount)
|
|
self.assertEqual(result["result"], "success")
|
|
self.assertEqual(result["vout"][0]["valueZat"], 10000000)
|
|
time.sleep(1)
|
|
|
|
def test_nspv_broadcast(self):
|
|
print("testing nspv_broadcast")
|
|
result = rpc_proxy.nspv_login(wif)
|
|
broadcast_hex = rpc_proxy.nspv_spend(dest_address, amount)["hex"]
|
|
time.sleep(1)
|
|
result = rpc_proxy.nspv_broadcast(broadcast_hex)
|
|
self.assertEqual(result["result"], "success")
|
|
self.assertEqual(result["retcode"], 1)
|
|
self.assertEqual(result["expected"], result["broadcast"])
|
|
print("Broadcast txid: " + result["broadcast"])
|
|
time.sleep(1)
|
|
|
|
def test_nspv_logout(self):
|
|
print("testing nspv_logout")
|
|
rpc_proxy.nspv_login(wif)
|
|
time.sleep(1)
|
|
rpc_proxy.nspv_logout()
|
|
time.sleep(1)
|
|
result = rpc_proxy.nspv_spend(dest_address, amount)
|
|
self.assertEqual(result["result"], "error")
|
|
self.assertEqual(result["error"], "wif expired")
|
|
time.sleep(1)
|
|
|
|
def test_nspv_spentinfo(self):
|
|
print("testing nspv_spent_info")
|
|
result = rpc_proxy.nspv_spentinfo("67ffe0eaecd6081de04675c492a59090b573ee78955c4e8a85b8ac0be0e8e418", "1")
|
|
self.assertEqual(result["result"], "success")
|
|
self.assertEqual(result["spentheight"], 2681)
|
|
time.sleep(1)
|
|
|
|
def test_nspv_txproof(self):
|
|
print("testing nspv_txproof")
|
|
result = rpc_proxy.nspv_txproof("67ffe0eaecd6081de04675c492a59090b573ee78955c4e8a85b8ac0be0e8e418", "2673")
|
|
self.assertEqual(result["txid"], "67ffe0eaecd6081de04675c492a59090b573ee78955c4e8a85b8ac0be0e8e418")
|
|
time.sleep(1)
|
|
|
|
def test_nspv_login_timout(self):
|
|
print("testing auto-logout in 777 seconds")
|
|
rpc_proxy.nspv_login(wif)
|
|
time.sleep(777)
|
|
result = rpc_proxy.nspv_spend(dest_address, amount)
|
|
self.assertEqual(result["result"], "error")
|
|
self.assertEqual(result["error"], "wif expired")
|
|
time.sleep(1)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|
|
|