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

Function test_handle

chirpstack/src/maccommand/new_channel.rs:423–576  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

421
422 #[test]
423 fn test_handle() {
424 let tests = vec![
425 AnsTest {
426 name: "add new channels (ack)".into(),
427 device_session: internal::DeviceSession {
428 enabled_uplink_channel_indices: vec![0, 1, 2],
429 mac_command_error_count: [(lrwn::CID::NewChannelReq.to_u8() as u32, 1)]
430 .iter()
431 .cloned()
432 .collect(),
433 ..Default::default()
434 },
435 new_channel_ans: lrwn::MACCommandSet::new(vec![lrwn::MACCommand::NewChannelAns(
436 lrwn::NewChannelAnsPayload {
437 channel_freq_ok: true,
438 dr_range_ok: true,
439 },
440 )]),
441 new_channel_req: Some(lrwn::MACCommandSet::new(vec![
442 lrwn::MACCommand::NewChannelReq(lrwn::NewChannelReqPayload {
443 ch_index: 3,
444 freq: 868600000,
445 min_dr: 3,
446 max_dr: 5,
447 }),
448 ])),
449 expected_device_session: internal::DeviceSession {
450 enabled_uplink_channel_indices: vec![0, 1, 2, 3],
451 extra_uplink_channels: [(
452 3,
453 internal::DeviceSessionChannel {
454 frequency: 868600000,
455 data_rates: vec![3, 4, 5],
456 ..Default::default()
457 },
458 )]
459 .iter()
460 .cloned()
461 .collect(),
462 ..Default::default()
463 },
464 expected_error: None,
465 },
466 AnsTest {
467 name: "add new channels (nack)".into(),
468 device_session: internal::DeviceSession {
469 enabled_uplink_channel_indices: vec![0, 1, 2],
470 ..Default::default()
471 },
472 new_channel_ans: lrwn::MACCommandSet::new(vec![lrwn::MACCommand::NewChannelAns(
473 lrwn::NewChannelAnsPayload {
474 channel_freq_ok: false,
475 dr_range_ok: true,
476 },
477 )]),
478 new_channel_req: Some(lrwn::MACCommandSet::new(vec![
479 lrwn::MACCommand::NewChannelReq(lrwn::NewChannelReqPayload {
480 ch_index: 3,

Callers

nothing calls this directly

Calls 4

as_refMethod · 0.80
handleFunction · 0.70
getFunction · 0.50
intoMethod · 0.45

Tested by

no test coverage detected