use salesforce_core::client;
use std::env;
const CREDENTIALS_ENV: &str = "SFDC_CREDENTIALS";
pub fn credentials_available() -> bool {
env::var(CREDENTIALS_ENV).is_ok()
}
#[macro_export]
macro_rules! skip_if_no_credentials {
() => {
if !common::credentials_available() {
eprintln!(
"Skipping integration test: set SFDC_CREDENTIALS to a JSON file path to run."
);
return Ok(());
}
};
}
pub async fn auth_client() -> Result<client::Client, Box<dyn std::error::Error>> {
let path = env::var(CREDENTIALS_ENV)?;
let client = client::Builder::new()
.credentials_path(path.into())
.build()?
.connect()
.await?;
Ok(client)
}