@@ -106,5 +106,62 @@ def test_send_message_user_not_found(self,
106106 f"User Bruce not found"
107107 )
108108
109+ @patch ("chat_server.src.main.chat_pb2" )
110+ @patch ("chat_server.src.main.EtcdMessagesHandler" )
111+ @patch ("chat_server.src.main.logging" )
112+ @patch ("chat_server.src.main.Parse" )
113+ def test_receive_messages (self ,
114+ parse : Mock ,
115+ _logging : Mock ,
116+ etcd_message_handler : Mock ,
117+ chat_pb2 : Mock ):
118+ """Tests chat_server.src.auth.login_user() method."""
119+ request = Mock (
120+ message = Mock (
121+ to_user_login = "Batman" ,
122+ )
123+ )
124+ context = Mock (
125+ is_active = Mock (
126+ return_value = True
127+ )
128+ )
129+ msg_handler = Mock (
130+ get_elems_from_queue = Mock (
131+ side_effect = [
132+ [("1" , "Message1" ), ("2" , "Message2" ), ("3" , "Message3" )],
133+ [],
134+ [("1" , "Message4" ), ("2" , "Message5" ), ("3" , "Message6" )],
135+ InterruptedError ()
136+ ]
137+ )
138+ )
139+ etcd_message_handler .return_value = msg_handler
140+ empt_message = Mock ()
141+ chat_pb2 .Message .return_value = empt_message
142+
143+ list (self .chat_server .RecieveMessages (request , context ))
144+
145+ etcd_message_handler .assert_called_once_with (
146+ client = self .etcd_client ,
147+ to_user = "Batman"
148+ )
149+
150+ self .assertEqual (msg_handler .call_count , 3 )
151+
152+ parse .assert_has_calls (
153+ call ("Message1" , empt_message ),
154+ call ("Message2" , empt_message ),
155+ call ("Message3" , empt_message ),
156+ call ("Message4" , empt_message ),
157+ call ("Message5" , empt_message ),
158+ call ("Message6" , empt_message ),
159+ )
160+ self .assertEqual (_logging .debug .call_count , 4 )
161+ msg_handler .store_and_delete_sent_messages .assert_called_once_with (
162+ [("1" , "Message4" ), ("2" , "Message5" ), ("3" , "Message6" )])
163+ _logging .info .assert_called_once_with ()
164+
165+
109166if __name__ == '__main__' :
110167 unittest .main ()
0 commit comments