use crypto_ws_client::{CoinbaseProWSClient, WSClient};
#[macro_use]
mod utils;
#[tokio::test(flavor = "multi_thread")]
async fn subscribe() {
gen_test_code!(
CoinbaseProWSClient,
subscribe,
&[
("matches".to_string(), "BTC-USD".to_string()),
("heartbeat".to_string(), "BTC-USD".to_string())
]
);
}
#[tokio::test(flavor = "multi_thread")]
#[should_panic]
async fn subscribe_illegal_symbol() {
gen_test_code!(
CoinbaseProWSClient,
subscribe,
&[("matches".to_string(), "XXX-YYY".to_string())]
);
}
#[tokio::test(flavor = "multi_thread")]
async fn subscribe_raw_json() {
gen_test_code!(
CoinbaseProWSClient,
send,
&[r#"{
"type":"subscribe",
"channels":[
{
"name":"heartbeat",
"product_ids":[
"BTC-USD"
]
},
{
"name":"matches",
"product_ids":[
"BTC-USD"
]
}
]
}"#
.to_string()]
);
}
#[tokio::test(flavor = "multi_thread")]
async fn subscribe_trade() {
gen_test_code!(
CoinbaseProWSClient,
subscribe_trade,
&["BTC-USD".to_string(), "ETH-USD".to_string()]
);
}
#[tokio::test(flavor = "multi_thread")]
async fn subscribe_ticker() {
gen_test_code!(
CoinbaseProWSClient,
subscribe_ticker,
&["BTC-USD".to_string(), "ETH-USD".to_string()]
);
}
#[tokio::test(flavor = "multi_thread")]
async fn subscribe_orderbook() {
gen_test_code!(CoinbaseProWSClient, subscribe_orderbook, &["BTC-USD".to_string()]);
}
#[tokio::test(flavor = "multi_thread")]
async fn subscribe_l3_orderbook() {
gen_test_code!(CoinbaseProWSClient, subscribe_l3_orderbook, &["BTC-USD".to_string()]);
}