Files
qbz/src-tauri/tests/qobuz_live_smoke.rs
T
vicrodh 3a297c0b2b style: apply cargo fmt across codebase
Automated formatting pass covering 79 Rust source files.
No logic changes -- only line wrapping, import ordering,
and match/closure reformatting.
2026-02-20 00:14:58 -06:00

42 lines
1.0 KiB
Rust

use qbz_nix_lib::{api::QobuzClient, credentials};
// Live tests against Qobuz require:
// - Explicit opt-in via env var
// - Local credentials available via QBZ credential store (keyring or fallback file)
//
// These tests must never print credentials or tokens.
fn live_tests_enabled() -> bool {
matches!(
std::env::var("QBZ_RUN_QOBUZ_LIVE_TESTS").as_deref(),
Ok("1")
)
}
#[tokio::test]
#[ignore]
async fn qobuz_login_and_favorites_smoke() {
if !live_tests_enabled() {
return;
}
let Some(creds) = credentials::load_qobuz_credentials().expect("Failed to load credentials")
else {
return;
};
let client = QobuzClient::default();
client.init().await.expect("Failed to init client");
client
.login(&creds.email, &creds.password)
.await
.expect("Login failed");
// Auth + signature protected endpoint; should succeed even if empty.
let _ = client
.get_favorites("tracks", 1, 0)
.await
.expect("get_favorites failed");
}