pub mod common;
use crate::common::server::MockServer;
use opensearch::auth::Credentials;
#[tokio::test]
async fn basic_auth_header() -> anyhow::Result<()> {
let mut server = MockServer::start()?;
let client =
server.client_with(|b| b.auth(Credentials::Basic("username".into(), "password".into())));
let _ = client.ping().send().await?;
let request = server.received_request().await?;
assert_eq!(
request.header("authorization"),
Some("Basic dXNlcm5hbWU6cGFzc3dvcmQ=")
);
Ok(())
}
#[tokio::test]
async fn api_key_header() -> anyhow::Result<()> {
let mut server = MockServer::start()?;
let client = server.client_with(|b| b.auth(Credentials::ApiKey("id".into(), "api_key".into())));
let _ = client.ping().send().await?;
let request = server.received_request().await?;
assert_eq!(
request.header("authorization"),
Some("ApiKey aWQ6YXBpX2tleQ==")
);
Ok(())
}
#[tokio::test]
async fn bearer_header() -> anyhow::Result<()> {
let mut server = MockServer::start()?;
let client = server.client_with(|b| b.auth(Credentials::Bearer("access_token".into())));
let _ = client.ping().send().await?;
let request = server.received_request().await?;
assert_eq!(request.header("authorization"), Some("Bearer access_token"));
Ok(())
}