def test__get_subscribe_message(self): channel1 = Channel('heartbeat', ['BTC-USD', 'LTC-USD']) channel2 = Channel('level2', ['LTC-USD']) client = Client(self.loop, [channel1, channel2], auto_connect=False) msg = json.loads( client._get_subscribe_message( client.channels.values()).decode('utf8')) self.assertIn('type', msg) self.assertEqual(msg['type'], 'subscribe') self.assertIn('channels', msg) self.assertIn(channel1._as_dict(), msg['channels']) self.assertIn(channel2._as_dict(), msg['channels'])
def test__as_dict(self): channel = Channel('heartbeat', ['BTC-USD', 'LTC-USD']) d = channel._as_dict() self.assertIsInstance(d, dict) self.assertEqual(d['name'], 'heartbeat') self.assertEqual(len(d['product_ids']), 2) self.assertIn('BTC-USD', d['product_ids']) self.assertIn('LTC-USD', d['product_ids'])
def test__get_subscribe_message(self): channel1 = Channel('heartbeat', ['BTC-USD', 'LTC-USD']) channel2 = Channel('level2', ['LTC-USD']) client = Client(self.loop, [channel1, channel2], auto_connect=False) #subscribe msg = json.loads( client._get_subscribe_message( client.channels.values()).decode('utf8')) self.assertEqual(len(msg), 2) self.assertEqual(msg['type'], 'subscribe') self.assertIn(channel1._as_dict(), msg['channels']) self.assertIn(channel2._as_dict(), msg['channels']) #unsubscribe msg = json.loads( client._get_subscribe_message([channel1], unsubscribe=True).decode('utf8')) self.assertEqual(len(msg), 2) self.assertEqual(msg['type'], 'unsubscribe') self.assertIn(channel1._as_dict(), msg['channels']) self.assertFalse(channel2._as_dict() in msg['channels']) #authorized client = Client(self.loop, channel1, auth=True, key=TEST_KEY, secret=TEST_SECRET, passphrase=TEST_PASSPHRASE, auto_connect=False, auto_reconnect=False) msg = json.loads( client._get_subscribe_message( client.channels.values(), timestamp='1546384260.0321212').decode('utf8')) self.assertEqual(len(msg), 6) self.assertEqual(msg['type'], 'subscribe') self.assertIn(channel1._as_dict(), msg['channels']) self.assertEqual(msg['key'], TEST_KEY) self.assertEqual(msg['passphrase'], TEST_PASSPHRASE) self.assertEqual(msg['timestamp'], '1546384260.0321212') self.assertEqual(msg['signature'], 'KQq/poDCHjDDRURkQOc+QZi16c6cio9Yo/nF1+kts84=')