Automated formatting pass covering 79 Rust source files. No logic changes -- only line wrapping, import ordering, and match/closure reformatting.
42 lines
1.0 KiB
Rust
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");
|
|
}
|