Skip to content

Commit 1aa6d01

Browse files
mcdayoubclickingbuttons
authored andcommitted
Trades tests (#136)
* trades tests * trial error * trial error * style
1 parent c4c7310 commit 1aa6d01

File tree

2 files changed

+95
-0
lines changed

2 files changed

+95
-0
lines changed

tests/mocks.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,18 @@
3939
"/v3/reference/tickers/types",
4040
'{"results":[{"code":"CS","description":"Common Stock","asset_class":"stocks","locale":"us"},{"code":"PFD","description":"Preferred Stock","asset_class":"stocks","locale":"us"},{"code":"WARRANT","description":"Warrant","asset_class":"stocks","locale":"us"},{"code":"RIGHT","description":"Rights","asset_class":"stocks","locale":"us"},{"code":"BOND","description":"Corporate Bond","asset_class":"stocks","locale":"us"},{"code":"ETF","description":"Exchange Traded Fund","asset_class":"stocks","locale":"us"},{"code":"ETN","description":"Exchange Traded Note","asset_class":"stocks","locale":"us"},{"code":"SP","description":"Structured Product","asset_class":"stocks","locale":"us"},{"code":"ADRC","description":"American Depository Receipt Common","asset_class":"stocks","locale":"us"},{"code":"ADRW","description":"American Depository Receipt Warrants","asset_class":"stocks","locale":"us"},{"code":"ADRR","description":"American Depository Receipt Rights","asset_class":"stocks","locale":"us"},{"code":"FUND","description":"Fund","asset_class":"stocks","locale":"us"},{"code":"BASKET","description":"Basket","asset_class":"stocks","locale":"us"},{"code":"UNIT","description":"Unit","asset_class":"stocks","locale":"us"},{"code":"LT","description":"Liquidating Trust","asset_class":"stocks","locale":"us"}],"status":"OK","request_id":"efbfc7c2304bba6c2f19a2567f568134","count":15}',
4141
),
42+
(
43+
"/v2/last/trade/AAPL",
44+
'{"results":{"c":[12,37],"i":"237688","p":166.25,"s":2,"x":4,"r":202,"z":3,"T":"AAPL","t":1651179319310617300,"y":1651179319308000000,"f":1651179319310588400,"q":7084210},"status":"OK","request_id":"d4bafa50e72cf9ed19ac538ae1a3185a"}',
45+
),
46+
(
47+
"/v1/last/crypto/BTC/USD",
48+
'{"last":{"conditions":[2],"exchange":2,"price":39976.89682331,"size":0.005,"timestamp":1651180409688},"request_id":"d67c9bfe1fa0c29db9177d78b3ab713c","status":"success","symbol":"BTC-USD"}',
49+
),
50+
(
51+
"/v3/trades/AAPL",
52+
'{"results":[{"conditions":[12,37],"correction":1,"exchange":11,"id":"183276","participant_timestamp":1651181822461636600,"price":156.43,"sequence_number":7179341,"sip_timestamp":1651181822461979400,"size":10,"tape":3,"trf_id":3,"trf_timestamp":1651181557090806500},{"conditions":[12,37],"correction":1,"exchange":12,"id":"183276","participant_timestamp":1651181822461636600,"price":157.43,"sequence_number":7179341,"sip_timestamp":1651181822461979400,"size":10,"tape":3,"trf_id":3,"trf_timestamp":1651181557090806500}],"status":"OK","request_id":"756f9910624b35a47eb07f21a7a373bb"}',
53+
),
4254
(
4355
"/v1/marketstatus/upcoming",
4456
'[{"exchange":"NYSE","name":"Memorial Day","date":"2022-05-30","status":"closed"},{"exchange":"NASDAQ","name":"Memorial Day","date":"2022-05-30","status":"closed"},{"exchange":"NASDAQ","name":"Juneteenth","date":"2022-06-20","status":"closed"},{"exchange":"NYSE","name":"Juneteenth","date":"2022-06-20","status":"closed"},{"exchange":"NYSE","name":"Independence Day","date":"2022-07-04","status":"closed"},{"exchange":"NASDAQ","name":"Independence Day","date":"2022-07-04","status":"closed"},{"exchange":"NYSE","name":"Labor Day","date":"2022-09-05","status":"closed"},{"exchange":"NASDAQ","name":"Labor Day","date":"2022-09-05","status":"closed"},{"exchange":"NYSE","name":"Thanksgiving","date":"2022-11-24","status":"closed"},{"exchange":"NASDAQ","name":"Thanksgiving","date":"2022-11-24","status":"closed"},{"exchange":"NYSE","name":"Thanksgiving","date":"2022-11-25","status":"early-close","open":"2022-11-25T14:30:00.000Z","close":"2022-11-25T18:00:00.000Z"},{"exchange":"NASDAQ","name":"Thanksgiving","date":"2022-11-25","status":"early-close","open":"2022-11-25T14:30:00.000Z","close":"2022-11-25T18:00:00.000Z"},{"exchange":"NYSE","name":"Christmas","date":"2022-12-26","status":"closed"},{"exchange":"NASDAQ","name":"Christmas","date":"2022-12-26","status":"closed"}]',

tests/test_trades.py

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
from mocks import BaseTest
2+
from polygon.rest.models import (
3+
Trade,
4+
LastTrade,
5+
Last,
6+
LastTradeCrypto,
7+
)
8+
9+
10+
class TradesTest(BaseTest):
11+
def test_get_last_trade(self):
12+
last_trade = self.c.get_last_trade("AAPL")
13+
expected = [
14+
LastTrade(
15+
ticker="AAPL",
16+
trf_timestamp=1651179319310588400,
17+
sequence_number=7084210,
18+
sip_timestamp=1651179319310617300,
19+
participant_timestamp=1651179319308000000,
20+
conditions=[12, 37],
21+
correction=None,
22+
id="237688",
23+
price=166.25,
24+
trf_id=202,
25+
size=2,
26+
exchange=4,
27+
tape=3,
28+
)
29+
]
30+
self.assertEqual(last_trade, expected)
31+
32+
def test_get_last_trade_crypto(self):
33+
last_trade_crypto = self.c.get_last_trade_crypto("BTC", "USD")
34+
expected = [
35+
LastTradeCrypto(
36+
last={
37+
"conditions": [2],
38+
"exchange": 2,
39+
"price": 39976.89682331,
40+
"size": 0.005,
41+
"timestamp": 1651180409688,
42+
},
43+
ticker="BTC-USD",
44+
status="success",
45+
request_id="d67c9bfe1fa0c29db9177d78b3ab713c",
46+
)
47+
]
48+
self.assertEqual(last_trade_crypto, expected)
49+
50+
def test_trades(self):
51+
trades = [t for t in self.c.list_trades(ticker="AAPL", limit=2)]
52+
print(trades)
53+
expected = [
54+
Trade(
55+
conditions=[12, 37],
56+
correction=1,
57+
exchange=11,
58+
id="183276",
59+
participant_timestamp=1651181822461636600,
60+
price=156.43,
61+
sequence_number=7179341,
62+
sip_timestamp=1651181822461979400,
63+
size=10,
64+
tape=3,
65+
trf_id=3,
66+
trf_timestamp=1651181557090806500,
67+
),
68+
Trade(
69+
conditions=[12, 37],
70+
correction=1,
71+
exchange=12,
72+
id="183276",
73+
participant_timestamp=1651181822461636600,
74+
price=157.43,
75+
sequence_number=7179341,
76+
sip_timestamp=1651181822461979400,
77+
size=10,
78+
tape=3,
79+
trf_id=3,
80+
trf_timestamp=1651181557090806500,
81+
),
82+
]
83+
self.assertEqual(trades, expected)

0 commit comments

Comments
 (0)