diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2023-01-09 09:27:14 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2023-01-11 09:01:48 +0100 |
commit | d53aeb6a2be4624df29e6ef80126be5ee0fd1922 (patch) | |
tree | 570add10e009487e1f6dfe848f0f68ea8d247fc4 /mqtt-tester/src | |
parent | 5bb528078701b182a3030cc5d10e44e7bd5e93a1 (diff) |
Fix: NoUsernameMeansNoPassword impl PacketInvariant returns Option<_>
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'mqtt-tester/src')
-rw-r--r-- | mqtt-tester/src/client_report.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/mqtt-tester/src/client_report.rs b/mqtt-tester/src/client_report.rs index 5498b77..a3c345d 100644 --- a/mqtt-tester/src/client_report.rs +++ b/mqtt-tester/src/client_report.rs @@ -706,10 +706,10 @@ async fn check_connect_flag_username_zero_means_password_zero( struct NoUsernameMeansNoPassword; impl PacketInvariant for NoUsernameMeansNoPassword { - fn test_invariant(&self, packet: &MPacket<'_>) -> miette::Result<Report> { - let result = if let MConnect { + fn test_invariant(&self, packet: &MPacket<'_>) -> Option<miette::Result<Report>> { + let result = if let MPacket::Connect(MConnect { username, password, .. - } = packet + }) = packet { if username.is_none() { if password.is_some() { @@ -720,13 +720,15 @@ impl PacketInvariant for NoUsernameMeansNoPassword { } else { ReportResult::Success } + } else { + return None; }; - Ok(mk_report! { + Some(Ok(mk_report! { name: "If the CONNECT packet flag for username is set, a username must be present", desc: "If the User Name Flag is set to 1, a user name MUST be present in the payload.", normative: "[MQTT-3.1.2-18, MQTT-3.1.2-19]", result - }) + })) } } |