def __init__(self, kserver, signing_key): """ A high level class for sending direct, market messages to other nodes. A node will need one of these to participate in buying and selling. Should be initialized after the Kademlia server. """ self.kserver = kserver self.signing_key = signing_key self.router = kserver.protocol.router self.protocol = MarketProtocol(kserver.node.getProto(), self.router, signing_key)
def test_MarketProtocol_rpc_get_image_invalid_image_hash(self): catcher = self.catcher mp = MarketProtocol(self.node, self.router, 0, 0) self.assertEqual(None, mp.rpc_get_image(mknode(), "invalid_hash")) catch_exception = catcher.pop() exception_message = catcher.pop() self.assertEquals( catch_exception["message"][0], "[WARNING] could not find image 696e76616c69645f68617368") self.assertEquals( exception_message["message"][0], "[WARNING] Image hash is not 20 characters invalid_hash")
def test_MarketProtocol_add_listener_correctly(self): mp = MarketProtocol(0, 0, 0, 0) self.assertEqual(len(mp.listeners), 0) mp.add_listener(3) self.assertEqual(len(mp.listeners), 1)
def test_MarketProtocol_connect_multiplexer_correctly(self): mp = MarketProtocol(0, 0, 0, 0) self.assertEqual(mp.multiplexer, None) mp.connect_multiplexer("3") self.assertEqual(mp.multiplexer, "3")