use digdigdig3::connector_manager::ExchangeHub;
use digdigdig3::core::types::ExchangeId;
#[tokio::test]
async fn rest_override_binance_plumbing() {
let hub = ExchangeHub::new();
let override_url = "https://my-proxy.test".to_string();
hub.set_rest_base_override(ExchangeId::Binance, override_url.clone());
assert_eq!(
hub.get_rest_base_override(ExchangeId::Binance),
Some(override_url.clone()),
"override must be stored in hub map before connect"
);
let result = hub.connect_public(ExchangeId::Binance, false).await;
assert!(
result.is_ok(),
"connect_public must succeed with override set: {:?}",
result
);
assert_eq!(
hub.get_rest_base_override(ExchangeId::Binance),
Some(override_url),
"override must persist in hub map after connect"
);
}
#[tokio::test]
async fn rest_override_okx_plumbing() {
let hub = ExchangeHub::new();
let override_url = "https://okx-proxy.test".to_string();
hub.set_rest_base_override(ExchangeId::OKX, override_url.clone());
assert_eq!(
hub.get_rest_base_override(ExchangeId::OKX),
Some(override_url.clone()),
"OKX override must be stored"
);
let result = hub.connect_public(ExchangeId::OKX, false).await;
assert!(
result.is_ok(),
"connect_public(OKX) must succeed with override set: {:?}",
result
);
assert_eq!(
hub.get_rest_base_override(ExchangeId::OKX),
Some(override_url),
"OKX override must persist after connect"
);
}
#[tokio::test]
async fn rest_override_clear() {
let hub = ExchangeHub::new();
hub.set_rest_base_override(ExchangeId::Binance, "https://proxy.test".to_string());
hub.clear_rest_base_override(ExchangeId::Binance);
assert_eq!(
hub.get_rest_base_override(ExchangeId::Binance),
None,
"cleared override must be None"
);
}
#[tokio::test]
async fn rest_override_connect_full_plumbing() {
use digdigdig3::core::types::AccountType;
let hub = ExchangeHub::new();
let override_url = "https://bybit-proxy.test".to_string();
hub.set_rest_base_override(ExchangeId::Bybit, override_url.clone());
let result = hub.connect_full(ExchangeId::Bybit, &[AccountType::Spot], false).await;
assert!(
result.is_ok(),
"connect_full must succeed with override set: {:?}",
result
);
assert_eq!(
hub.get_rest_base_override(ExchangeId::Bybit),
Some(override_url),
"Bybit override must persist after connect_full"
);
}