nautilus_model/identifiers/
stubs.rs1use nautilus_core::UUID4;
19use rstest::fixture;
20
21use super::{
22 AccountId, ClientId, ClientOrderId, ComponentId, ExecAlgorithmId, InstrumentId, OrderListId,
23 PositionId, StrategyId, Symbol, TradeId, TraderId, Venue, VenueOrderId,
24};
25use crate::stubs::TestDefault;
26
27impl TestDefault for AccountId {
28 fn test_default() -> Self {
30 Self::from("SIM-001")
31 }
32}
33
34impl TestDefault for ClientId {
35 fn test_default() -> Self {
37 Self::from("SIM")
38 }
39}
40
41impl TestDefault for ClientOrderId {
42 fn test_default() -> Self {
44 Self::from("O-19700101-000000-001-001-1")
45 }
46}
47
48impl TestDefault for PositionId {
49 fn test_default() -> Self {
51 Self::from("P-001")
52 }
53}
54
55impl TestDefault for StrategyId {
56 fn test_default() -> Self {
58 Self::from("S-001")
59 }
60}
61
62impl TestDefault for TradeId {
63 fn test_default() -> Self {
65 Self::from("1")
66 }
67}
68
69impl TestDefault for TraderId {
70 fn test_default() -> Self {
72 Self::default()
73 }
74}
75
76impl TestDefault for Symbol {
77 fn test_default() -> Self {
79 Self::from("AUD/USD")
80 }
81}
82
83impl TestDefault for Venue {
84 fn test_default() -> Self {
86 Self::from("SIM")
87 }
88}
89
90impl TestDefault for VenueOrderId {
91 fn test_default() -> Self {
93 Self::from("001")
94 }
95}
96
97impl TestDefault for InstrumentId {
98 fn test_default() -> Self {
100 Self::new(Symbol::test_default(), Venue::test_default())
101 }
102}
103
104#[fixture]
106pub fn trader_id() -> TraderId {
107 TraderId::test_default()
108}
109
110#[fixture]
112pub fn strategy_id_ema_cross() -> StrategyId {
113 StrategyId::new("EMACross-001")
114}
115
116#[fixture]
118pub fn uuid4() -> UUID4 {
119 UUID4::from("16578139-a945-4b65-b46c-bc131a15d8e7")
120}
121
122#[fixture]
124pub fn account_id() -> AccountId {
125 AccountId::test_default()
126}
127
128#[fixture]
130pub fn client_order_id() -> ClientOrderId {
131 ClientOrderId::test_default()
132}
133
134#[fixture]
136pub fn venue_order_id() -> VenueOrderId {
137 VenueOrderId::test_default()
138}
139
140#[fixture]
142pub fn position_id() -> PositionId {
143 PositionId::test_default()
144}
145
146#[fixture]
148pub fn instrument_id_btc_usdt() -> InstrumentId {
149 InstrumentId::new(Symbol::new("BTCUSDT"), Venue::new("COINBASE"))
150}
151
152#[fixture]
154pub fn instrument_id_aud_usd() -> InstrumentId {
155 InstrumentId::new(Symbol::new("AUD/USD"), Venue::new("SIM"))
156}
157
158#[fixture]
160pub fn instrument_id_aud_usd_sim() -> InstrumentId {
161 InstrumentId::new(Symbol::new("AUD/USD"), Venue::new("SIM"))
162}
163
164#[fixture]
166pub fn trade_id() -> TradeId {
167 TradeId::new("1234567890")
168}
169
170#[fixture]
172pub fn symbol_eth_perp() -> Symbol {
173 Symbol::new("ETH-PERP")
174}
175
176#[fixture]
178pub fn symbol_aud_usd() -> Symbol {
179 Symbol::new("AUD/USD")
180}
181
182#[fixture]
184pub fn venue_binance() -> Venue {
185 Venue::new("BINANCE")
186}
187
188#[fixture]
190pub fn venue_sim() -> Venue {
191 Venue::new("SIM")
192}
193
194#[fixture]
196pub fn client_id_binance() -> ClientId {
197 ClientId::new("BINANCE")
198}
199
200#[fixture]
202pub fn client_id_dydx() -> ClientId {
203 ClientId::new("DYDX")
204}
205
206#[fixture]
208pub fn position_id_test() -> PositionId {
209 PositionId::new("P-123456789")
210}
211
212#[fixture]
214pub fn order_list_id_test() -> OrderListId {
215 OrderListId::new("001")
216}
217
218#[fixture]
220pub fn instrument_id_eth_usdt_binance() -> InstrumentId {
221 InstrumentId::new(Symbol::new("ETHUSDT"), Venue::new("BINANCE"))
222}
223
224#[fixture]
226pub fn account_ib() -> AccountId {
227 AccountId::new("IB-1234567890")
228}
229
230#[fixture]
232pub fn component_risk_engine() -> ComponentId {
233 ComponentId::new("RiskEngine")
234}
235
236#[fixture]
238pub fn exec_algorithm_id() -> ExecAlgorithmId {
239 ExecAlgorithmId::new("001")
240}