#[test]
fn clt_package_name_is_assistant()
{
let name = env!( "CARGO_PKG_NAME" );
assert_eq!( name, "assistant", "unexpected package name: {name}" );
}
#[test]
fn clt_binary_is_present()
{
let bin = assert_cmd::cargo::cargo_bin!( "clt" );
assert!( bin.exists(), "clt binary not found at: {}", bin.display() );
}
#[test]
fn clt_processes_command_accepted()
{
let home = tempfile::TempDir::new().unwrap();
let out = std::process::Command::new(
assert_cmd::cargo::cargo_bin!( "clt" )
)
.env( "HOME", home.path() )
.args( [ ".processes" ] )
.output()
.unwrap();
assert_eq!(
out.status.code().unwrap_or( -1 ), 0,
"clt .processes should exit 0; stderr: {}",
String::from_utf8_lossy( &out.stderr ),
);
}
#[test]
fn clt_sessions_accepts_scope_param()
{
let home = tempfile::TempDir::new().unwrap();
let out = std::process::Command::new(
assert_cmd::cargo::cargo_bin!( "clt" )
)
.env( "HOME", home.path() )
.args( [ ".sessions", "scope::local" ] )
.output()
.unwrap();
assert_eq!(
out.status.code().unwrap_or( -1 ), 0,
"clt .sessions scope::local must succeed (storage variant accepts scope); stderr: {}",
String::from_utf8_lossy( &out.stderr ),
);
}
#[test]
fn clt_usage_command_accepted()
{
let home = tempfile::TempDir::new().unwrap();
let out = std::process::Command::new(
assert_cmd::cargo::cargo_bin!( "clt" )
)
.env( "HOME", home.path() )
.args( [ ".usage" ] )
.output()
.unwrap();
let code = out.status.code().unwrap_or( -1 );
assert_ne!(
code, 1,
"clt .usage must not exit 1 (unknown command); stderr: {}",
String::from_utf8_lossy( &out.stderr ),
);
}
#[test]
fn clt_paths_command_accepted()
{
let home = tempfile::TempDir::new().unwrap();
let out = std::process::Command::new(
assert_cmd::cargo::cargo_bin!( "clt" )
)
.env( "HOME", home.path() )
.args( [ ".paths" ] )
.output()
.unwrap();
assert_eq!(
out.status.code().unwrap_or( -1 ), 0,
"clt .paths should exit 0; stderr: {}",
String::from_utf8_lossy( &out.stderr ),
);
}
#[test]
fn clt_account_list_command_accepted()
{
let home = tempfile::TempDir::new().unwrap();
let out = std::process::Command::new(
assert_cmd::cargo::cargo_bin!( "clt" )
)
.env( "HOME", home.path() )
.args( [ ".account.list" ] )
.output()
.unwrap();
assert_eq!(
out.status.code().unwrap_or( -1 ), 0,
"clt .account.list should exit 0; stderr: {}",
String::from_utf8_lossy( &out.stderr ),
);
}