()
| 986 | |
| 987 | #[tokio::test] |
| 988 | async fn test_gateway() { |
| 989 | let _guard = test::prepare().await; |
| 990 | |
| 991 | // setup admin user |
| 992 | let u = user::User { |
| 993 | is_admin: true, |
| 994 | is_active: true, |
| 995 | email: "admin@admin".into(), |
| 996 | email_verified: true, |
| 997 | ..Default::default() |
| 998 | }; |
| 999 | let u = user::create(u).await.unwrap(); |
| 1000 | |
| 1001 | // create tenant |
| 1002 | let t = tenant::create(tenant::Tenant { |
| 1003 | name: "test-tenant".into(), |
| 1004 | can_have_gateways: true, |
| 1005 | max_gateway_count: 10, |
| 1006 | ..Default::default() |
| 1007 | }) |
| 1008 | .await |
| 1009 | .unwrap(); |
| 1010 | |
| 1011 | // setup api |
| 1012 | let service = Gateway::new(RequestValidator::new()); |
| 1013 | |
| 1014 | // create |
| 1015 | let create_req = api::CreateGatewayRequest { |
| 1016 | gateway: Some(api::Gateway { |
| 1017 | gateway_id: "0102030405060708".into(), |
| 1018 | tenant_id: t.id.to_string(), |
| 1019 | name: "test-gw".into(), |
| 1020 | location: Some(common::Location { |
| 1021 | latitude: 1.1, |
| 1022 | longitude: 1.2, |
| 1023 | altitude: 1.0, |
| 1024 | ..Default::default() |
| 1025 | }), |
| 1026 | downlink_priority: 10, |
| 1027 | ..Default::default() |
| 1028 | }), |
| 1029 | }; |
| 1030 | let mut create_req = Request::new(create_req); |
| 1031 | create_req |
| 1032 | .extensions_mut() |
| 1033 | .insert(AuthID::User(Into::<uuid::Uuid>::into(u.id))); |
| 1034 | let _ = service.create(create_req).await.unwrap(); |
| 1035 | |
| 1036 | // get |
| 1037 | let get_req = api::GetGatewayRequest { |
| 1038 | gateway_id: "0102030405060708".into(), |
| 1039 | }; |
| 1040 | let mut get_req = Request::new(get_req); |
| 1041 | get_req |
| 1042 | .extensions_mut() |
| 1043 | .insert(AuthID::User(Into::<uuid::Uuid>::into(u.id))); |
| 1044 | let get_resp = service.get(get_req).await.unwrap(); |
| 1045 | assert_eq!( |
nothing calls this directly
no test coverage detected