#![allow(dead_code)]
use reqkey::Client;
use serde_json::json;
use wiremock::{
matchers::{header, method, path},
Mock, MockServer, ResponseTemplate,
};
pub fn client(server: &MockServer) -> Client {
Client::builder()
.project_key("project_test")
.base_url(server.uri())
.build()
.expect("test client")
}
pub async fn mount_allowed(server: &MockServer) {
Mock::given(method("POST"))
.and(path("/key/validate"))
.and(header("authorization", "Bearer project_test"))
.respond_with(ResponseTemplate::new(200).set_body_json(json!({
"valid": true,
"requestId": "request_123",
"apiId": "api_payments",
"apiName": "Payments",
"resource": "/payments",
"creditsRemaining": 9,
"creditsLimit": 10,
"allowedApis": ["api_payments"],
"rateLimit": {"limit": 10, "remaining": 9}
})))
.mount(server)
.await;
}
pub async fn mount_ingest(server: &MockServer) {
Mock::given(method("POST"))
.and(path("/ingest"))
.respond_with(ResponseTemplate::new(202))
.mount(server)
.await;
}