From 502503ad3ac880d805d55dcc71969f370bf2d641 Mon Sep 17 00:00:00 2001 From: mxsm Date: Mon, 23 Dec 2024 08:33:51 +0000 Subject: [PATCH] =?UTF-8?q?[ISSUE=20#1928]=E2=9A=A1=EF=B8=8FOptimize=20App?= =?UTF-8?q?endMessageStatus=20Display=20like=20Java=20AppendMessageStatus?= =?UTF-8?q?=20=20toString?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/base/message_status_enum.rs | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/rocketmq-store/src/base/message_status_enum.rs b/rocketmq-store/src/base/message_status_enum.rs index 88befae0..6647eb79 100644 --- a/rocketmq-store/src/base/message_status_enum.rs +++ b/rocketmq-store/src/base/message_status_enum.rs @@ -25,6 +25,19 @@ pub enum AppendMessageStatus { UnknownError, } +impl std::fmt::Display for AppendMessageStatus { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + // Compatible with Java enums + match self { + AppendMessageStatus::PutOk => write!(f, "PUT_OK"), + AppendMessageStatus::EndOfFile => write!(f, "END_OF_FILE"), + AppendMessageStatus::MessageSizeExceeded => write!(f, "MESSAGE_SIZE_EXCEEDED"), + AppendMessageStatus::PropertiesSizeExceeded => write!(f, "PROPERTIES_SIZE_EXCEEDED"), + AppendMessageStatus::UnknownError => write!(f, "UNKNOWN_ERROR"), + } + } +} + #[derive(Debug, Default, Clone, Copy, PartialEq, Eq)] pub enum PutMessageStatus { #[default] @@ -72,3 +85,42 @@ impl std::fmt::Display for GetMessageStatus { write!(f, "{:?}", self) } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn append_message_status_display_put_ok() { + assert_eq!(AppendMessageStatus::PutOk.to_string(), "PUT_OK"); + } + + #[test] + fn append_message_status_display_end_of_file() { + assert_eq!(AppendMessageStatus::EndOfFile.to_string(), "END_OF_FILE"); + } + + #[test] + fn append_message_status_display_message_size_exceeded() { + assert_eq!( + AppendMessageStatus::MessageSizeExceeded.to_string(), + "MESSAGE_SIZE_EXCEEDED" + ); + } + + #[test] + fn append_message_status_display_properties_size_exceeded() { + assert_eq!( + AppendMessageStatus::PropertiesSizeExceeded.to_string(), + "PROPERTIES_SIZE_EXCEEDED" + ); + } + + #[test] + fn append_message_status_display_unknown_error() { + assert_eq!( + AppendMessageStatus::UnknownError.to_string(), + "UNKNOWN_ERROR" + ); + } +}