use rocie_client::{ apis::{ api_get_auth_user_api::user_by_id, api_set_auth_user_api::register_user, api_set_no_auth_user_api::{login, logout, provision}, }, models::{LoginInfo, UserStub}, }; use crate::testenv::{TestEnv, init::function_name, log::request}; #[tokio::test] async fn test_provisioning() { let env = TestEnv::new_no_login(function_name!()); let user_id = request!( env, provision(UserStub { description: None, name: "James Richard Haynes".to_string(), password: "hunter14".to_string() }) ); let user = request!(env, user_by_id(user_id)); assert_eq!(&user.name, "James Richard Haynes"); assert_eq!(user.description, None); } #[tokio::test] async fn test_register_user() { let env = TestEnv::new(function_name!()).await; let user_id = request!( env, register_user(UserStub { description: Some("Myself".to_string()), name: "me".to_string(), password: "hunter14".to_string() }) ); request!( @expect_error "The password is wrong" env, login(LoginInfo { user_name: "me".to_owned(), password: "hunter13".to_owned() }) ); request!( env, login(LoginInfo { user_name: "me".to_owned(), password: "hunter14".to_owned() }) ); let user = request!(env, user_by_id(user_id)); assert_eq!(&user.name, "me"); assert_eq!(user.description.as_deref(), Some("Myself")); request!(env, logout()); request!( @expect_error "We are not logged in anymore" env, user_by_id(user_id) ); }