pub mod rate_limiter;
pub mod server;
pub mod service;
pub use server::RpcServer;
pub mod admin {
tonic::include_proto!("mostro.admin.v1");
}
#[cfg(test)]
mod tests {
use super::admin::*;
#[test]
fn test_protobuf_message_creation() {
let cancel_request = CancelOrderRequest {
order_id: "test-order".to_string(),
request_id: Some("test-request".to_string()),
};
assert_eq!(cancel_request.order_id, "test-order");
assert_eq!(cancel_request.request_id, Some("test-request".to_string()));
let cancel_response = CancelOrderResponse {
success: true,
error_message: None,
};
assert!(cancel_response.success);
assert!(cancel_response.error_message.is_none());
}
#[test]
fn test_all_request_types() {
let _cancel_req = CancelOrderRequest {
order_id: "order1".to_string(),
request_id: None,
};
let _settle_req = SettleOrderRequest {
order_id: "order2".to_string(),
request_id: Some("req2".to_string()),
};
let _add_solver_req = AddSolverRequest {
solver_pubkey: "npub1...".to_string(),
request_id: None,
};
let _take_dispute_req = TakeDisputeRequest {
dispute_id: "dispute1".to_string(),
request_id: Some("req3".to_string()),
};
let _validate_password_req = ValidateDbPasswordRequest {
password: "test-pass".to_string(),
};
}
#[test]
fn test_all_response_types() {
let _cancel_resp = CancelOrderResponse {
success: true,
error_message: None,
};
let _settle_resp = SettleOrderResponse {
success: false,
error_message: Some("Error".to_string()),
};
let _add_solver_resp = AddSolverResponse {
success: true,
error_message: None,
};
let _take_dispute_resp = TakeDisputeResponse {
success: false,
error_message: Some("Dispute not found".to_string()),
};
let _validate_password_resp = ValidateDbPasswordResponse {
success: true,
error_message: None,
};
}
}