okx_swap_test.rs 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. use tracing::{instrument, trace};
  2. use standard::exchange::ExchangeEnum;
  3. use standard::Platform;
  4. use crate::exchange_test::test_new_exchange;
  5. mod exchange_test;
  6. const SYMBOL: &str = "ETH_USDT";
  7. // 测试获取Exchange实体
  8. #[tokio::test]
  9. #[instrument(level = "TRACE")]
  10. async fn test_get_self_exchange() {
  11. global::log_utils::init_log_with_trace();
  12. let okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  13. let okx_get_self_exchange = okx_swap_exchange.get_self_exchange();
  14. trace!(?okx_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 okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  22. let okx_get_self_symbol = okx_swap_exchange.get_self_symbol();
  23. trace!(?okx_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 okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  31. let okx_get_self_is_colo = okx_swap_exchange.get_self_is_colo();
  32. trace!(?okx_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 okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  40. let okx_get_self_params = okx_swap_exchange.get_self_params();
  41. trace!("okx_get_self_params={:?}",okx_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 okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  49. let okx_get_self_market = okx_swap_exchange.get_self_market();
  50. trace!(?okx_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 okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  58. let okx_get_request_delays = okx_swap_exchange.get_request_delays();
  59. trace!(?okx_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 okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  67. let okx_get_request_avg_delay = okx_swap_exchange.get_request_avg_delay();
  68. trace!(?okx_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 okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  76. let okx_get_request_max_delay = okx_swap_exchange.get_request_max_delay();
  77. trace!(?okx_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 okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  85. let okx_get_server_time = okx_swap_exchange.get_server_time().await;
  86. trace!(?okx_get_server_time);
  87. }
  88. // 测试获取账号信息
  89. #[tokio::test]
  90. #[instrument(level = "TRACE")]
  91. async fn test_get_account() {
  92. global::log_utils::init_log_with_trace();
  93. let mut okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  94. let okx_get_account = okx_swap_exchange.get_account().await;
  95. trace!(?okx_get_account);
  96. }
  97. // 测试获取仓位信息
  98. #[tokio::test]
  99. #[instrument(level = "TRACE")]
  100. async fn test_get_position() {
  101. global::log_utils::init_log_with_trace();
  102. let mut okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  103. let okx_get_position = okx_swap_exchange.get_position().await;
  104. trace!(?okx_get_position);
  105. }
  106. // 测试获取Ticker信息
  107. #[tokio::test]
  108. #[instrument(level = "TRACE")]
  109. async fn test_get_ticker() {
  110. global::log_utils::init_log_with_trace();
  111. let mut okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  112. let okx_get_ticker = okx_swap_exchange.get_ticker().await;
  113. trace!(?okx_get_ticker);
  114. }
  115. // 测试获取Market信息
  116. #[tokio::test]
  117. #[instrument(level = "TRACE")]
  118. async fn test_get_market() {
  119. global::log_utils::init_log_with_trace();
  120. let mut okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  121. let okx_get_market = okx_swap_exchange.get_market().await;
  122. trace!(?okx_get_market);
  123. }
  124. // 测试获取Order详情信息
  125. #[tokio::test]
  126. #[instrument(level = "TRACE")]
  127. async fn test_get_order_detail() {
  128. global::log_utils::init_log_with_trace();
  129. let mut okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  130. let okx_get_order_detail = okx_swap_exchange.get_order_detail("", "999999").await;
  131. trace!(?okx_get_order_detail);
  132. }
  133. // 测试获取Order列表信息
  134. #[tokio::test]
  135. #[instrument(level = "TRACE")]
  136. async fn test_get_orders_list() {
  137. global::log_utils::init_log_with_trace();
  138. let mut okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  139. let okx_get_orders_list = okx_swap_exchange.get_orders_list("active").await;
  140. trace!(?okx_get_orders_list);
  141. }
  142. // 测试设置持仓模式
  143. #[tokio::test]
  144. #[instrument(level = "TRACE")]
  145. async fn test_set_dual_mode() {
  146. global::log_utils::init_log_with_trace();
  147. let mut okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  148. let okx_set_dual_mode = okx_swap_exchange.set_dual_mode("usdt", true).await;
  149. trace!(?okx_set_dual_mode);
  150. }
  151. // 测试设置杠杆
  152. #[tokio::test]
  153. #[instrument(level = "TRACE")]
  154. async fn test_set_dual_leverage() {
  155. global::log_utils::init_log_with_trace();
  156. let mut okx_swap_exchange: Box<dyn Platform> = test_new_exchange(ExchangeEnum::OkxSwap, SYMBOL).await;
  157. let okx_set_dual_leverage = okx_swap_exchange.set_dual_leverage("10").await;
  158. trace!(?okx_set_dual_leverage);
  159. }