use rexpect::error::Error; use rexpect::spawn; #[test] fn test_tokens_create() -> Result<(), Error> { let mut p = spawn("cargo run -- tokens create --id dc1c", Some(15000))?; p.exp_string("Type a name for the token")?; p.send_line("project_token")?; p.exp_string("Expires in")?; p.exp_string("Endless")?; p.send_line("")?; p.exp_string("Token successfully created")?; p.exp_string("Name")?; p.exp_string("Expires at")?; Ok(()) } #[test] fn test_tokens_delete() -> Result<(), Error> { let mut p = spawn("cargo run -- tokens delete --id d1bd", Some(15000))?; p.exp_string("confirm deletion")?; p.send_line("d1bd")?; p.exp_string("Token successfully deleted")?; Ok(()) } #[test] fn test_tokens_list() -> Result<(), Error> { let mut p = spawn("cargo run -- tokens list --id dc1c", Some(15000))?; p.exp_string("Tokens of the project")?; p.exp_string("Use / to exit")?; p.exp_string("#d2bd")?; p.exp_string("list_token")?; Ok(()) } #[test] fn test_tokens_regenerate_endless() -> Result<(), Error> { let mut p = spawn("cargo run -- tokens regenerate --id d2bd", Some(15000))?; p.exp_string("Expires in")?; p.exp_string("Endless")?; p.send_line("")?; p.exp_string("Token successfully regenerated")?; Ok(()) } #[test] fn test_tokens_regenerate_7_days() -> Result<(), Error> { let mut p = spawn("cargo run -- tokens regenerate --id d2bd", Some(15000))?; p.exp_string("Expires in")?; p.exp_string("Endless")?; p.send("\x1B[B")?; p.send_line("")?; p.exp_string("Token successfully regenerated")?; p.exp_string("7 days")?; Ok(()) }