X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=p2pool%2Ftest%2Ftest_node.py;h=f262c32e78761abfce001cfdccbcc5104e97e9ec;hb=ad88b3d90955b349cc2f08a011c53e0d1fa7f285;hp=d41c1b75120cbb71fae8548adace4bb180d460a5;hpb=de39289dfa8e6ab8fa2b482ace51080bb6f4fbf0;p=p2pool.git diff --git a/p2pool/test/test_node.py b/p2pool/test/test_node.py index d41c1b7..f262c32 100644 --- a/p2pool/test/test_node.py +++ b/p2pool/test/test_node.py @@ -1,8 +1,10 @@ -from twisted.internet import defer +from twisted.internet import defer, reactor from twisted.trial import unittest +from twisted.web import resource, server from p2pool import networks, node, work -from p2pool.util import deferral, variable +from p2pool.bitcoin import worker_interface +from p2pool.util import deferral, jsonrpc, variable class factory(object): new_headers = variable.Event() @@ -48,12 +50,6 @@ class bitcoind(object): "height" : 205801 } -class FakeRequest(object): - def getUser(self): - return 'fakeuser' - def getClientIP(self): - return 'fakeclientip' - class Test(unittest.TestCase): @defer.inlineCallbacks def test_node(self): @@ -62,13 +58,17 @@ class Test(unittest.TestCase): yield n.start() wb = work.WorkerBridge(node=n, my_pubkey_hash=42, donation_percentage=2, merged_urls=[], worker_fee=3) + web_root = resource.Resource() + worker_interface.WorkerInterface(wb).attach_to(web_root) + port = reactor.listenTCP(8080, server.Site(web_root)) + + proxy = jsonrpc.Proxy('http://127.0.0.1:8080') yield deferral.sleep(3) for i in xrange(100): - ba, got_resp = wb.get_work(pubkey_hash=4242, desired_share_target=2**256-1, desired_pseudoshare_target=2**256-1) - got_resp(dict(version=ba.version, previous_block=ba.previous_block, merkle_root=ba.merkle_root, timestamp=ba.timestamp, bits=ba.bits, nonce=42), FakeRequest()) - yield deferral.sleep(.01) + blah = yield proxy.rpc_getwork() + yield proxy.rpc_getwork(blah['data']) yield deferral.sleep(3) @@ -77,4 +77,11 @@ class Test(unittest.TestCase): n.stop() + yield port.stopListening() + del net, n, wb, web_root, port, proxy + import gc + gc.collect() + gc.collect() + gc.collect() + yield deferral.sleep(20) # waiting for work_poller to exit