1+ # -*- coding: utf-8 -*-
2+ #
3+ # @Date : 2022/6/24
4+ # @Author : sukai
5+ import unittest
6+
7+ from tigeropen .push .push_client import PushClient
8+
9+
10+ class TestPushClient (unittest .TestCase ):
11+
12+ def test_tick_convert (self ):
13+ body = '{"symbol":"QQQ","tickType":"*****","serverTimestamp":1656062042242,"priceOffset":2,' \
14+ '"volumes":[99,10,10,10,800],"partCode":["t","p","p","p","t"],"cond":"IIIIT","type":"TradeTick",' \
15+ '"times":[1656062084833,11,0,0,31],"quoteLevel":"usStockQuote","priceBase":28770,"sn":878,' \
16+ '"prices":[6,3,2,2,0],"timestamp":1656062085570}'
17+
18+ expected = 'QQQ' , [{'tick_type' : '*' , 'price' : 287.76 , 'volume' : 99 , 'part_code' : 'NSDQ' ,
19+ 'part_code_name' : 'NASDAQ Stock Market, LLC (NASDAQ)' , 'cond' : 'US_ODD_LOT_TRADE' ,
20+ 'time' : 1656062084833 , 'server_timestamp' : 1656062042242 , 'type' : 'TradeTick' ,
21+ 'quote_level' : 'usStockQuote' , 'sn' : 878 , 'timestamp' : 1656062085570 },
22+ {'tick_type' : '*' , 'price' : 287.73 , 'volume' : 10 , 'part_code' : 'ARCA' ,
23+ 'part_code_name' : 'NYSE Arca, Inc. (NYSE Arca)' , 'cond' : 'US_ODD_LOT_TRADE' ,
24+ 'time' : 1656062084844 , 'server_timestamp' : 1656062042242 , 'type' : 'TradeTick' ,
25+ 'quote_level' : 'usStockQuote' , 'sn' : 878 , 'timestamp' : 1656062085570 },
26+ {'tick_type' : '*' , 'price' : 287.72 , 'volume' : 10 , 'part_code' : 'ARCA' ,
27+ 'part_code_name' : 'NYSE Arca, Inc. (NYSE Arca)' , 'cond' : 'US_ODD_LOT_TRADE' ,
28+ 'time' : 1656062084844 , 'server_timestamp' : 1656062042242 , 'type' : 'TradeTick' ,
29+ 'quote_level' : 'usStockQuote' , 'sn' : 878 , 'timestamp' : 1656062085570 },
30+ {'tick_type' : '*' , 'price' : 287.72 , 'volume' : 10 , 'part_code' : 'ARCA' ,
31+ 'part_code_name' : 'NYSE Arca, Inc. (NYSE Arca)' , 'cond' : 'US_ODD_LOT_TRADE' ,
32+ 'time' : 1656062084844 , 'server_timestamp' : 1656062042242 , 'type' : 'TradeTick' ,
33+ 'quote_level' : 'usStockQuote' , 'sn' : 878 , 'timestamp' : 1656062085570 },
34+ {'tick_type' : '*' , 'price' : 287.7 , 'volume' : 800 , 'part_code' : 'NSDQ' ,
35+ 'part_code_name' : 'NASDAQ Stock Market, LLC (NASDAQ)' , 'cond' : 'US_FORM_T' ,
36+ 'time' : 1656062084875 , 'server_timestamp' : 1656062042242 , 'type' : 'TradeTick' ,
37+ 'quote_level' : 'usStockQuote' , 'sn' : 878 , 'timestamp' : 1656062085570 }]
38+ self .assertEqual (expected , PushClient ._convert_tick (body ))
0 commit comments