nautilus_deribit/common/
urls.rs1use super::{
19 consts::{DERIBIT_HTTP_URL, DERIBIT_TESTNET_HTTP_URL, DERIBIT_TESTNET_WS_URL, DERIBIT_WS_URL},
20 enums::DeribitEnvironment,
21};
22
23#[must_use]
25pub fn get_http_base_url(environment: DeribitEnvironment) -> &'static str {
26 match environment {
27 DeribitEnvironment::Testnet => DERIBIT_TESTNET_HTTP_URL,
28 DeribitEnvironment::Mainnet => DERIBIT_HTTP_URL,
29 }
30}
31
32#[must_use]
34pub fn get_ws_url(environment: DeribitEnvironment) -> &'static str {
35 match environment {
36 DeribitEnvironment::Testnet => DERIBIT_TESTNET_WS_URL,
37 DeribitEnvironment::Mainnet => DERIBIT_WS_URL,
38 }
39}
40
41#[cfg(test)]
42mod tests {
43 use rstest::rstest;
44
45 use super::*;
46
47 #[rstest]
48 fn test_http_base_url_production() {
49 assert_eq!(
50 get_http_base_url(DeribitEnvironment::Mainnet),
51 "https://www.deribit.com"
52 );
53 }
54
55 #[rstest]
56 fn test_http_base_url_testnet() {
57 assert_eq!(
58 get_http_base_url(DeribitEnvironment::Testnet),
59 "https://test.deribit.com"
60 );
61 }
62
63 #[rstest]
64 fn test_ws_url_production() {
65 assert_eq!(
66 get_ws_url(DeribitEnvironment::Mainnet),
67 "wss://www.deribit.com/ws/api/v2"
68 );
69 }
70
71 #[rstest]
72 fn test_ws_url_testnet() {
73 assert_eq!(
74 get_ws_url(DeribitEnvironment::Testnet),
75 "wss://test.deribit.com/ws/api/v2"
76 );
77 }
78}