def get_tick_message(self, tick): meta = self.market_community.get_meta_message( u"ask" if isinstance(tick, Ask) else u"bid") return meta.impl( authentication=(self.market_community.my_member, ), distribution=(self.market_community.claim_global_time(), ), payload=tick.to_network() + (Ttl.default(), "127.0.0.1", 1234))
def setUp(self): # Object creation self.offer_payload = OfferPayload.Implementation( MetaObject(), TraderId('0'), MessageNumber('message_number'), OrderNumber(1), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(1470004447.117), Timestamp(1462224447.117), 'a', 'b', Ttl(2), "1.1.1.1", 1)
def get_offer_sync(self, tick): meta = self.market_community.get_meta_message(u"offer-sync") candidate = Candidate( self.market_community.lookup_ip(TraderId( self.market_community.mid)), False) return meta.impl( authentication=(self.market_community.my_member, ), distribution=(self.market_community.claim_global_time(), ), destination=(candidate, ), payload=tick.to_network() + (Ttl(1), ) + ("127.0.0.1", 1234) + (isinstance(tick, Ask), ))
def test_decode_payload(self): """ Test decoding of a payload """ message = MockObject() meta_msg = self.market_community.get_meta_message(u"ask") offer_payload = OfferPayload.Implementation(meta_msg, TraderId('abc'), MessageNumber('3'), OrderNumber(4), Price(5, 'BTC'), Quantity(6, 'MC'), Timeout(3600), Timestamp.now(), 'a', 'b', Ttl(3), "1.2.3.4", 1234) message.payload = offer_payload packet = encode((3.14, 100)) placeholder = self.get_placeholder_msg(u"ask") self.assertRaises(DropPacket, self.conversion._decode_payload, placeholder, 0, packet, [Price]) self.assertRaises(DropPacket, self.conversion._decode_payload, placeholder, 0, "a2zz", [Price])
def test_encode_decode_offer(self): """ Test encoding and decoding of an offer """ message = MockObject() meta_msg = self.market_community.get_meta_message(u"ask") offer_payload = OfferPayload.Implementation(meta_msg, TraderId('abc'), MessageNumber('3'), OrderNumber(4), Price(5, 'BTC'), Quantity(6, 'MC'), Timeout(3600), Timestamp.now(), 'a', 'b', Ttl(3), "1.2.3.4", 1234) message.payload = offer_payload packet, = self.conversion._encode_offer(message) self.assertTrue(packet) _, decoded = self.conversion._decode_offer(self.get_placeholder_msg(u"ask"), 0, packet) self.assertTrue(decoded) self.assertEqual(decoded.price, Price(5, 'BTC')) self.assertEqual(int(decoded.ttl), 3)
class TtlTestSuite(unittest.TestCase): """Ttl test cases.""" def setUp(self): # Object creation self.ttl = Ttl(0) self.ttl2 = Ttl(2) self.ttl3 = Ttl(2) self.ttl4 = Ttl(1) def test_init(self): # Test for init validation with self.assertRaises(ValueError): Ttl(-100) with self.assertRaises(ValueError): Ttl('1') def test_default(self): # Test for default init self.assertEqual(2, int(Ttl.default())) def test_conversion(self): # Test for conversions self.assertEqual(0, int(self.ttl)) self.assertEqual(2, int(self.ttl2)) def test_make_hop(self): # Test for make hop self.assertEqual(2, int(self.ttl2)) self.ttl2.make_hop() self.assertEqual(1, int(self.ttl2)) def test_is_alive(self): # Test for is alive self.assertTrue(self.ttl4.is_alive()) self.ttl4.make_hop() self.assertFalse(self.ttl4.is_alive())
def test_encode_decode_cancel_order(self): """ Test encoding and decoding of a cancel order """ message = MockObject() meta_msg = self.market_community.get_meta_message(u"cancel-order") cancel_order_payload = CancelOrderPayload.Implementation(meta_msg, TraderId('abc'), MessageNumber('3'), Timestamp.now(), OrderNumber(4), Ttl(2)) message.payload = cancel_order_payload packet, = self.conversion._encode_cancel_order(message) self.assertTrue(packet) _, decoded = self.conversion._decode_cancel_order(self.get_placeholder_msg(u"cancel-order"), 0, packet) self.assertTrue(decoded) self.assertEqual(decoded.order_number, OrderNumber(4)) self.assertEqual(int(decoded.ttl), 2)
def setUp(self): # Object creation self.cancel_order_payload = CancelOrderPayload.Implementation( MetaObject(), TraderId('0'), MessageNumber('message_number'), Timestamp.now(), OrderNumber(1), Ttl(2))
def setUp(self): # Object creation self.ttl = Ttl(0) self.ttl2 = Ttl(2) self.ttl3 = Ttl(2) self.ttl4 = Ttl(1)
def test_default(self): # Test for default init self.assertEqual(2, int(Ttl.default()))
def test_init(self): # Test for init validation with self.assertRaises(ValueError): Ttl(-100) with self.assertRaises(ValueError): Ttl('1')