#[test]
fn ast_package_name_is_assistant()
{
let name = env!( "CARGO_PKG_NAME" );
assert_eq!( name, "assistant", "unexpected package name: {name}" );
}
#[test]
fn ast_binary_is_present()
{
let bin = assert_cmd::cargo::cargo_bin!( "ast" );
assert!( bin.exists(), "astbinary not found at: {}", bin.display() );
}
#[test]
fn ast_processes_command_accepted()
{
let home = tempfile::TempDir::new().unwrap();
let out = std::process::Command::new(
assert_cmd::cargo::cargo_bin!( "ast" )
)
.env( "HOME", home.path() )
.args( [ ".processes" ] )
.output()
.unwrap();
assert_eq!(
out.status.code().unwrap_or( -1 ), 0,
"ast.processes should exit 0; stderr: {}",
String::from_utf8_lossy( &out.stderr ),
);
}
#[test]
fn ast_projects_accepts_scope_param()
{
let home = tempfile::TempDir::new().unwrap();
let out = std::process::Command::new(
assert_cmd::cargo::cargo_bin!( "ast" )
)
.env( "HOME", home.path() )
.args( [ ".projects", "scope::local" ] )
.output()
.unwrap();
assert_eq!(
out.status.code().unwrap_or( -1 ), 0,
"ast.projects scope::local must succeed (storage variant accepts scope); stderr: {}",
String::from_utf8_lossy( &out.stderr ),
);
}
#[test]
fn ast_usage_command_accepted()
{
let home = tempfile::TempDir::new().unwrap();
let out = std::process::Command::new(
assert_cmd::cargo::cargo_bin!( "ast" )
)
.env( "HOME", home.path() )
.args( [ ".usage" ] )
.output()
.unwrap();
let code = out.status.code().unwrap_or( -1 );
assert_ne!(
code, 1,
"ast.usage must not exit 1 (unknown command); stderr: {}",
String::from_utf8_lossy( &out.stderr ),
);
}
#[test]
fn ast_paths_command_accepted()
{
let home = tempfile::TempDir::new().unwrap();
let out = std::process::Command::new(
assert_cmd::cargo::cargo_bin!( "ast" )
)
.env( "HOME", home.path() )
.args( [ ".paths" ] )
.output()
.unwrap();
assert_eq!(
out.status.code().unwrap_or( -1 ), 0,
"ast.paths should exit 0; stderr: {}",
String::from_utf8_lossy( &out.stderr ),
);
}
#[test]
fn ast_account_list_command_accepted()
{
let home = tempfile::TempDir::new().unwrap();
let out = std::process::Command::new(
assert_cmd::cargo::cargo_bin!( "ast" )
)
.env( "HOME", home.path() )
.args( [ ".accounts" ] )
.output()
.unwrap();
assert_eq!(
out.status.code().unwrap_or( -1 ), 0,
"ast .accounts should exit 0; stderr: {}",
String::from_utf8_lossy( &out.stderr ),
);
}