()
| 586 | |
| 587 | #[tokio::test] |
| 588 | async fn test_tenant() { |
| 589 | let _guard = test::prepare().await; |
| 590 | |
| 591 | // setup admin user |
| 592 | let u = user::User { |
| 593 | is_admin: true, |
| 594 | is_active: true, |
| 595 | email: "admin@admin".into(), |
| 596 | email_verified: true, |
| 597 | ..Default::default() |
| 598 | }; |
| 599 | let u = user::create(u).await.unwrap(); |
| 600 | |
| 601 | // setup api |
| 602 | let service = Tenant::new(RequestValidator::new()); |
| 603 | |
| 604 | // create |
| 605 | let create_req = api::CreateTenantRequest { |
| 606 | tenant: Some(api::Tenant { |
| 607 | name: "Test tenant".into(), |
| 608 | description: "Test description".into(), |
| 609 | can_have_gateways: true, |
| 610 | max_device_count: 10, |
| 611 | max_gateway_count: 3, |
| 612 | ..Default::default() |
| 613 | }), |
| 614 | }; |
| 615 | let mut create_req = Request::new(create_req); |
| 616 | create_req |
| 617 | .extensions_mut() |
| 618 | .insert(AuthID::User(Into::<uuid::Uuid>::into(u.id))); |
| 619 | let create_resp = service.create(create_req).await.unwrap(); |
| 620 | |
| 621 | // get |
| 622 | let get_req = api::GetTenantRequest { |
| 623 | id: create_resp.get_ref().id.clone(), |
| 624 | }; |
| 625 | let mut get_req = Request::new(get_req); |
| 626 | get_req |
| 627 | .extensions_mut() |
| 628 | .insert(AuthID::User(Into::<uuid::Uuid>::into(u.id))); |
| 629 | let get_resp = service.get(get_req).await.unwrap(); |
| 630 | assert_eq!( |
| 631 | Some(api::Tenant { |
| 632 | id: create_resp.get_ref().id.clone(), |
| 633 | name: "Test tenant".into(), |
| 634 | description: "Test description".into(), |
| 635 | can_have_gateways: true, |
| 636 | max_device_count: 10, |
| 637 | max_gateway_count: 3, |
| 638 | ..Default::default() |
| 639 | }), |
| 640 | get_resp.get_ref().tenant |
| 641 | ); |
| 642 | |
| 643 | // update |
| 644 | let up_req = api::UpdateTenantRequest { |
| 645 | tenant: Some(api::Tenant { |
nothing calls this directly
no test coverage detected