use crate::common::TestFixture;
#[tokio::test]
async fn test_get_organization() {
let fixture = TestFixture::create()
.await
.expect("Failed to create test fixture");
let client = fixture
.create_sdk_client()
.await
.expect("Failed to create SDK client");
let org = client.organization(fixture.org_id_str());
let result = org.control().get().await;
match result {
Ok(org_info) => {
println!("Got organization: {:?}", org_info);
}
Err(e) => {
println!("Get organization error: {:?}", e);
}
}
fixture.cleanup().await.expect("Cleanup should succeed");
}
#[tokio::test]
async fn test_list_vaults() {
let fixture = TestFixture::create()
.await
.expect("Failed to create test fixture");
let client = fixture
.create_sdk_client()
.await
.expect("Failed to create SDK client");
let org = client.organization(fixture.org_id_str());
let result = org.control().vaults().list().await;
match result {
Ok(page) => {
println!("Found {} vaults", page.items.len());
assert!(!page.items.is_empty(), "Should have at least one vault");
}
Err(e) => {
println!("List vaults error: {:?}", e);
}
}
fixture.cleanup().await.expect("Cleanup should succeed");
}
#[tokio::test]
async fn test_get_vault() {
let fixture = TestFixture::create()
.await
.expect("Failed to create test fixture");
let client = fixture
.create_sdk_client()
.await
.expect("Failed to create SDK client");
let org = client.organization(fixture.org_id_str());
let result = org.control().vaults().get(fixture.vault_id_str()).await;
match result {
Ok(vault_info) => {
println!("Got vault: {:?}", vault_info);
}
Err(e) => {
println!("Get vault error: {:?}", e);
}
}
fixture.cleanup().await.expect("Cleanup should succeed");
}
#[tokio::test]
async fn test_list_clients() {
let fixture = TestFixture::create()
.await
.expect("Failed to create test fixture");
let client = fixture
.create_sdk_client()
.await
.expect("Failed to create SDK client");
let org = client.organization(fixture.org_id_str());
let result = org.clients().list().await;
match result {
Ok(page) => {
println!("Found {} API clients", page.items.len());
assert!(!page.items.is_empty(), "Should have at least one client");
}
Err(e) => {
println!("List clients error: {:?}", e);
}
}
fixture.cleanup().await.expect("Cleanup should succeed");
}
#[tokio::test]
async fn test_get_jwks() {
let fixture = TestFixture::create()
.await
.expect("Failed to create test fixture");
let client = fixture
.create_sdk_client()
.await
.expect("Failed to create SDK client");
let result = client.jwks().get().await;
match result {
Ok(jwks) => {
println!("Got JWKS with {} keys", jwks.keys.len());
assert!(!jwks.keys.is_empty(), "JWKS should have at least one key");
let has_our_key = jwks.find_key(&fixture.cert_kid).is_some();
println!(
"Our certificate kid {} in JWKS: {}",
fixture.cert_kid, has_our_key
);
}
Err(e) => {
println!("Get JWKS error: {:?}", e);
}
}
fixture.cleanup().await.expect("Cleanup should succeed");
}
#[tokio::test]
async fn test_list_members() {
let fixture = TestFixture::create()
.await
.expect("Failed to create test fixture");
let client = fixture
.create_sdk_client()
.await
.expect("Failed to create SDK client");
let org = client.organization(fixture.org_id_str());
let result = org.control().members().list().await;
match result {
Ok(page) => {
println!("Found {} members", page.items.len());
assert!(
!page.items.is_empty(),
"Should have at least one member (owner)"
);
}
Err(e) => {
println!("List members error: {:?}", e);
}
}
fixture.cleanup().await.expect("Cleanup should succeed");
}
#[tokio::test]
async fn test_list_teams() {
let fixture = TestFixture::create()
.await
.expect("Failed to create test fixture");
let client = fixture
.create_sdk_client()
.await
.expect("Failed to create SDK client");
let org = client.organization(fixture.org_id_str());
let result = org.control().teams().list().await;
match result {
Ok(page) => {
println!("Found {} teams", page.items.len());
}
Err(e) => {
println!("List teams error: {:?}", e);
}
}
fixture.cleanup().await.expect("Cleanup should succeed");
}
#[tokio::test]
async fn test_audit_log() {
let fixture = TestFixture::create()
.await
.expect("Failed to create test fixture");
let client = fixture
.create_sdk_client()
.await
.expect("Failed to create SDK client");
let org = client.organization(fixture.org_id_str());
let result = org.control().audit().list().await;
match result {
Ok(page) => {
println!("Found {} audit events", page.items.len());
}
Err(e) => {
println!("Audit log query error: {:?}", e);
}
}
fixture.cleanup().await.expect("Cleanup should succeed");
}
#[tokio::test]
async fn test_account_info() {
let fixture = TestFixture::create()
.await
.expect("Failed to create test fixture");
let client = fixture
.create_sdk_client()
.await
.expect("Failed to create SDK client");
let result = client.account().get().await;
match result {
Ok(account) => {
println!("Got account info: {:?}", account);
}
Err(e) => {
println!("Get account error: {:?}", e);
}
}
fixture.cleanup().await.expect("Cleanup should succeed");
}