Skip to content

Commit 387f478

Browse files
[ISSUE #6210]🧪Add unit tests for OffsetMovedEvent (#6319)
* test: add test case OffsetMovedEvent * test: add test case OffsetMovedEvent * Update rocketmq-remoting/src/protocol/topic.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update rocketmq-remoting/src/protocol/topic.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent cb28cb3 commit 387f478

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed

rocketmq-remoting/src/protocol/topic.rs

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,91 @@ impl std::fmt::Display for OffsetMovedEvent {
6767
)
6868
}
6969
}
70+
71+
#[cfg(test)]
72+
mod tests {
73+
use super::*;
74+
75+
#[test]
76+
fn offset_moved_event_field_initialization() {
77+
let body: OffsetMovedEvent = OffsetMovedEvent {
78+
consumer_group: "test_group".to_string(),
79+
message_queue: MessageQueue::new(),
80+
offset_request: 100,
81+
offset_new: 200,
82+
};
83+
assert_eq!(body.get_consumer_group(), "test_group");
84+
assert_eq!(body.get_offset_request(), 100);
85+
assert_eq!(body.get_offset_new(), 200);
86+
assert_eq!(body.get_message_queue(), &MessageQueue::new());
87+
}
88+
89+
#[test]
90+
fn offset_moved_event_setters() {
91+
let mut body = OffsetMovedEvent {
92+
consumer_group: "test_group".to_string(),
93+
message_queue: MessageQueue::new(),
94+
offset_request: 100,
95+
offset_new: 200,
96+
};
97+
body.set_consumer_group("new_group".to_string());
98+
body.set_message_queue(MessageQueue::new());
99+
body.set_offset_request(150);
100+
body.set_offset_new(250);
101+
assert_eq!(body.get_consumer_group(), "new_group");
102+
assert_eq!(body.get_message_queue(), &MessageQueue::new());
103+
assert_eq!(body.get_offset_request(), 150);
104+
assert_eq!(body.get_offset_new(), 250);
105+
}
106+
107+
#[test]
108+
fn offset_moved_event_getters() {
109+
let body = OffsetMovedEvent {
110+
consumer_group: "another_group".to_string(),
111+
message_queue: MessageQueue::new(),
112+
offset_request: 300,
113+
offset_new: 400,
114+
};
115+
assert_eq!(body.get_consumer_group(), "another_group");
116+
assert_eq!(body.get_offset_request(), 300);
117+
assert_eq!(body.get_offset_new(), 400);
118+
}
119+
120+
#[test]
121+
fn offset_moved_event_display() {
122+
let body = OffsetMovedEvent {
123+
consumer_group: "test_group".to_string(),
124+
message_queue: MessageQueue::new(),
125+
offset_request: 100,
126+
offset_new: 200,
127+
};
128+
let display = format!("{}", body);
129+
assert!(display.contains("OffsetMovedEvent"));
130+
assert!(display.contains("consumer_group=test_group"));
131+
assert!(display.contains("offset_request=100"));
132+
assert!(display.contains("offset_new=200"));
133+
}
134+
#[test]
135+
fn offset_moved_event_serialization() {
136+
let body = OffsetMovedEvent {
137+
consumer_group: "test_group".to_string(),
138+
message_queue: MessageQueue::new(),
139+
offset_request: 100,
140+
offset_new: 200,
141+
};
142+
let json = serde_json::to_string(&body).unwrap();
143+
assert!(json.contains("\"consumer_group\":\"test_group\""));
144+
assert!(json.contains("\"offset_request\":100"));
145+
assert!(json.contains("\"offset_new\":200"));
146+
}
147+
148+
#[test]
149+
fn offset_moved_event_deserialization() {
150+
let json = r#"{"consumer_group":"test_group","message_queue":{"topic":"","brokerName":"","queueId":0},"offset_request":100,"offset_new":200}"#;
151+
let body: OffsetMovedEvent = serde_json::from_str(json).unwrap();
152+
assert_eq!(body.get_consumer_group(), "test_group");
153+
assert_eq!(body.get_offset_request(), 100);
154+
assert_eq!(body.get_offset_new(), 200);
155+
assert_eq!(body.get_message_queue(), &MessageQueue::new());
156+
}
157+
}

0 commit comments

Comments
 (0)