@@ -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