MCPcopy Create free account
hub / github.com/chirpstack/chirpstack / test_gateway

Function test_gateway

chirpstack/src/api/gateway.rs:988–1145  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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!(

Callers

nothing calls this directly

Calls 12

prepareFunction · 0.85
unwrapMethod · 0.80
to_stringMethod · 0.80
insertMethod · 0.80
UserClass · 0.70
createFunction · 0.50
intoMethod · 0.45
createMethod · 0.45
getMethod · 0.45
updateMethod · 0.45
listMethod · 0.45
deleteMethod · 0.45

Tested by

no test coverage detected