()
| 259 | |
| 260 | #[tokio::test] |
| 261 | async fn test_user() { |
| 262 | let _guard = test::prepare().await; |
| 263 | |
| 264 | // setup admin user |
| 265 | let u = user::User { |
| 266 | is_admin: true, |
| 267 | is_active: true, |
| 268 | email: "admin@admin".into(), |
| 269 | email_verified: true, |
| 270 | ..Default::default() |
| 271 | }; |
| 272 | let u = user::create(u).await.unwrap(); |
| 273 | |
| 274 | // setup api |
| 275 | let service = User::new(RequestValidator::new()); |
| 276 | |
| 277 | // create |
| 278 | let create_req = api::CreateUserRequest { |
| 279 | password: "VerySecret123!".into(), |
| 280 | tenants: vec![], |
| 281 | user: Some(api::User { |
| 282 | is_admin: true, |
| 283 | is_active: true, |
| 284 | email: "foo@bar".into(), |
| 285 | note: "test user".into(), |
| 286 | ..Default::default() |
| 287 | }), |
| 288 | }; |
| 289 | let mut create_req = Request::new(create_req); |
| 290 | create_req |
| 291 | .extensions_mut() |
| 292 | .insert(AuthID::User(Into::<uuid::Uuid>::into(u.id))); |
| 293 | let create_resp = service.create(create_req).await.unwrap(); |
| 294 | |
| 295 | // get |
| 296 | let get_req = api::GetUserRequest { |
| 297 | id: create_resp.get_ref().id.clone(), |
| 298 | }; |
| 299 | let mut get_req = Request::new(get_req); |
| 300 | get_req |
| 301 | .extensions_mut() |
| 302 | .insert(AuthID::User(Into::<uuid::Uuid>::into(u.id))); |
| 303 | let get_resp = service.get(get_req).await.unwrap(); |
| 304 | assert_eq!( |
| 305 | Some(api::User { |
| 306 | id: create_resp.get_ref().id.clone(), |
| 307 | is_admin: true, |
| 308 | is_active: true, |
| 309 | email: "foo@bar".into(), |
| 310 | note: "test user".into(), |
| 311 | ..Default::default() |
| 312 | }), |
| 313 | get_resp.get_ref().user |
| 314 | ); |
| 315 | |
| 316 | // update |
| 317 | let up_req = api::UpdateUserRequest { |
| 318 | user: Some(api::User { |
nothing calls this directly
no test coverage detected