Пример #1
0
    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'])
Пример #2
0
 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'])
Пример #3
0
    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=')