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

Function test_gateway_duty_cycle_stats

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

Source from the content-addressed store, hash-verified

1243
1244 #[tokio::test]
1245 async fn test_gateway_duty_cycle_stats() {
1246 let _guard = test::prepare().await;
1247
1248 // setup admin user
1249 let u = user::User {
1250 is_admin: true,
1251 is_active: true,
1252 email: "admin@admin".into(),
1253 email_verified: true,
1254 ..Default::default()
1255 };
1256 let u = user::create(u).await.unwrap();
1257
1258 // create tenant
1259 let t = tenant::create(tenant::Tenant {
1260 name: "test-tenant".into(),
1261 can_have_gateways: true,
1262 max_gateway_count: 10,
1263 ..Default::default()
1264 })
1265 .await
1266 .unwrap();
1267
1268 // create gateway
1269 let _ = gateway::create(gateway::Gateway {
1270 gateway_id: EUI64::from_be_bytes([1, 2, 3, 4, 5, 6, 7, 8]),
1271 tenant_id: t.id,
1272 name: "test-gw".into(),
1273 ..Default::default()
1274 })
1275 .await
1276 .unwrap();
1277
1278 let now = Local::now();
1279
1280 // insert stats
1281 let mut m = metrics::Record {
1282 kind: metrics::Kind::COUNTER,
1283 time: now,
1284 metrics: HashMap::new(),
1285 };
1286
1287 m.metrics
1288 .insert("window_perc_M_868000000_868600000_10".into(), 0.5);
1289 m.metrics
1290 .insert("max_load_perc_L_865000000_868000000_10".into(), 5.0);
1291
1292 metrics::save(
1293 "gw:dc:0102030405060708",
1294 &m,
1295 &[metrics::Aggregation::MINUTE],
1296 )
1297 .await
1298 .unwrap();
1299
1300 // setup api
1301 let service = Gateway::new(RequestValidator::new());
1302

Callers

nothing calls this directly

Calls 14

prepareFunction · 0.85
create_relay_gatewayFunction · 0.85
unwrapMethod · 0.80
insertMethod · 0.80
to_stringMethod · 0.80
get_relay_gatewayMethod · 0.80
update_relay_gatewayMethod · 0.80
list_relay_gatewaysMethod · 0.80
delete_relay_gatewayMethod · 0.80
UserClass · 0.70
createFunction · 0.50

Tested by

no test coverage detected