bitget_spot_test.rs 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. use rust_decimal_macros::dec;
  2. use tracing::{instrument, trace};
  3. use standard::exchange::ExchangeEnum;
  4. use standard::Platform;
  5. use crate::exchange_test::test_new_exchange;
  6. mod exchange_test;
  7. const SYMBOL: &str = "BLZ_USDT";
  8. // 测试获取Exchange实体
  9. #[tokio::test]
  10. async fn test_get_self_exchange() {
  11. global::log_utils::init_log_with_trace();
  12. let bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  13. let bitget_get_self_exchange = bitget_swap_exchange.get_self_exchange();
  14. trace!(?bitget_get_self_exchange);
  15. }
  16. // 测试获取交易对信息
  17. #[tokio::test]
  18. #[instrument(level = "TRACE")]
  19. async fn test_get_self_symbol() {
  20. global::log_utils::init_log_with_trace();
  21. let bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  22. let bitget_get_self_symbol = bitget_swap_exchange.get_self_symbol();
  23. trace!(?bitget_get_self_symbol);
  24. }
  25. // 测试获取是否使用高速通道
  26. #[tokio::test]
  27. #[instrument(level = "TRACE")]
  28. async fn test_get_self_is_colo() {
  29. global::log_utils::init_log_with_trace();
  30. let bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  31. let bitget_get_self_is_colo = bitget_swap_exchange.get_self_is_colo();
  32. trace!(?bitget_get_self_is_colo);
  33. }
  34. // 测试获取登录params信息
  35. #[tokio::test]
  36. #[instrument(level = "TRACE")]
  37. async fn test_get_self_params() {
  38. global::log_utils::init_log_with_trace();
  39. let bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  40. let bitget_get_self_params = bitget_swap_exchange.get_self_params();
  41. trace!("bitget_get_self_params={:?}",bitget_get_self_params);
  42. }
  43. // 测试获取Market信息
  44. #[tokio::test]
  45. #[instrument(level = "TRACE")]
  46. async fn test_get_self_market() {
  47. global::log_utils::init_log_with_trace();
  48. let bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  49. let bitget_get_self_market = bitget_swap_exchange.get_self_market();
  50. trace!(?bitget_get_self_market);
  51. }
  52. // 测试获取请求时间信息
  53. #[tokio::test]
  54. #[instrument(level = "TRACE")]
  55. async fn test_get_request_delays() {
  56. global::log_utils::init_log_with_trace();
  57. let bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  58. let bitget_get_request_delays = bitget_swap_exchange.get_request_delays();
  59. trace!(?bitget_get_request_delays);
  60. }
  61. // 测试获取请求平均时间信息
  62. #[tokio::test]
  63. #[instrument(level = "TRACE")]
  64. async fn test_get_request_avg_delay() {
  65. global::log_utils::init_log_with_trace();
  66. let bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  67. let bitget_get_request_avg_delay = bitget_swap_exchange.get_request_avg_delay();
  68. trace!(?bitget_get_request_avg_delay);
  69. }
  70. // 测试获取最大请求时间信息
  71. #[tokio::test]
  72. #[instrument(level = "TRACE")]
  73. async fn test_get_request_max_delay() {
  74. global::log_utils::init_log_with_trace();
  75. let bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  76. let bitget_get_request_max_delay = bitget_swap_exchange.get_request_max_delay();
  77. trace!(?bitget_get_request_max_delay);
  78. }
  79. // 测试获取服务器时间
  80. #[tokio::test]
  81. #[instrument(level = "TRACE")]
  82. async fn test_get_server_time() {
  83. global::log_utils::init_log_with_trace();
  84. let mut bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  85. let bitget_get_server_time = bitget_swap_exchange.get_server_time().await;
  86. trace!(?bitget_get_server_time);
  87. }
  88. // 测试获取账号信息
  89. #[tokio::test]
  90. #[instrument(level = "TRACE")]
  91. async fn test_get_spot_account() {
  92. global::log_utils::init_log_with_trace();
  93. let mut bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  94. let bitget_get_spot_account = bitget_swap_exchange.get_spot_account().await;
  95. trace!(?bitget_get_spot_account);
  96. }
  97. // 测试获取Ticker信息
  98. #[tokio::test]
  99. #[instrument(level = "TRACE")]
  100. async fn test_get_ticker() {
  101. global::log_utils::init_log_with_trace();
  102. let mut bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  103. let bitget_get_ticker = bitget_swap_exchange.get_ticker().await;
  104. trace!(?bitget_get_ticker);
  105. }
  106. // 测试获取Market信息
  107. #[tokio::test]
  108. #[instrument(level = "TRACE")]
  109. async fn test_get_market() {
  110. global::log_utils::init_log_with_trace();
  111. let mut bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  112. let bitget_get_market = bitget_swap_exchange.get_market().await;
  113. trace!(?bitget_get_market);
  114. }
  115. // 测试获取Order详情信息
  116. #[tokio::test]
  117. #[instrument(level = "TRACE")]
  118. async fn test_get_order_detail() {
  119. global::log_utils::init_log_with_trace();
  120. let mut bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  121. let bitget_get_order_detail = bitget_swap_exchange.get_order_detail("", "999998").await;
  122. trace!(?bitget_get_order_detail);
  123. }
  124. // 测试获取Order列表信息
  125. #[tokio::test]
  126. #[instrument(level = "TRACE")]
  127. async fn test_get_orders_list() {
  128. global::log_utils::init_log_with_trace();
  129. let mut bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  130. let bitget_get_orders_list = bitget_swap_exchange.get_orders_list("").await;
  131. trace!(?bitget_get_orders_list);
  132. }
  133. // 测试下单
  134. #[tokio::test]
  135. #[instrument(level = "TRACE")]
  136. async fn test_take_order() {
  137. global::log_utils::init_log_with_trace();
  138. let mut bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  139. let bitget_take_order = bitget_swap_exchange.take_order("9999922", "kd", dec!(0.21), dec!(30)).await;
  140. trace!(?bitget_take_order);
  141. }
  142. // 测试撤销订单
  143. #[tokio::test]
  144. #[instrument(level = "TRACE")]
  145. async fn test_cancel_order() {
  146. global::log_utils::init_log_with_trace();
  147. let mut bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  148. let bitget_cancel_order = bitget_swap_exchange.cancel_order("", "999997").await;
  149. trace!(?bitget_cancel_order);
  150. }
  151. // 测试撤销订单
  152. #[tokio::test]
  153. #[instrument(level = "TRACE")]
  154. async fn test_cancel_orders() {
  155. global::log_utils::init_log_with_trace();
  156. let mut bitget_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::BitgetSpot, SYMBOL).await;
  157. let bitget_cancel_order = bitget_swap_exchange.cancel_orders().await;
  158. trace!(?bitget_cancel_order);
  159. }