示例#1
0
 def testtransport_message_listener_with_uid(self):
     """
     Test to check the message_listener method with uid of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     transport = XmppTransport.factory(
         "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
         signal._presence_publisher, None, None)
     transport._jid_cache = JidCache(signal, 30)
     register_stanza_plugin(Message, IpopSignal)
     msg = Message()
     msg["from"] = "ipop"
     transport.boundjid.full = "edgevpn"
     msg["ipop"]["type"] = "uid!"
     msg["ipop"]["payload"] = "123#456"
     item = {0: "invk", 1: {"ActionTag": "1"}, 2: 5}
     q = Queue()
     q.put_nowait(item)
     outgoing_rem_acts = {"456": q}
     transport._outgoing_rem_acts = outgoing_rem_acts
     transport.send_msg = MagicMock()
     transport.message_listener(msg)
     assert transport._jid_cache.lookup("456") == "123"
     transport.send_msg.assert_called_once()
     print("Passed : testtransport_presence_event_handler_with_uid")
示例#2
0
 def testtransport_message_listener_with_announce_to_same_node(self):
     """
     Test to check the message_listener method with announce to the same of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     transport = XmppTransport.factory(
         "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
         signal._presence_publisher, None, None)
     transport._jid_cache = JidCache(signal, 30)
     register_stanza_plugin(Message, IpopSignal)
     msg = Message()
     msg["from"] = "ipop"
     transport.boundjid.full = "edgevpn"
     msg["ipop"]["type"] = "announce"
     msg["ipop"]["payload"] = "123#456"
     sig_dict["Signal"]["NodeId"] = "456"
     transport.send_msg = MagicMock()
     transport._presence_publisher = Mock()
     transport._presence_publisher.post_update = MagicMock()
     transport.message_listener(msg)
     self.assertEqual(transport._jid_cache.lookup("456"), None)
     transport.send_msg.assert_not_called()
     transport._presence_publisher.post_update.assert_not_called()
     print(
         "Passed : testtransport_message_listener_with_announce_to_same_node"
     )
示例#3
0
    def send_xmpp_message(self, event):
        """Transmit a message to a user"""

        self.log('Transmitting XMPP message', lvl=debug)
        msg = Message()
        msg['type'] = event.msg_type
        msg['to'] = '%s@localhost' % event.username
        msg['from'] = self.config.jid
        msg['body'] = event.body
        msg['subject'] = event.subject
        self.send(msg)
示例#4
0
 def testtransport_message_listener_with_invk(self, mock_loads):
     """
     Test to check the message_listener method with invk to a different node of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     mock_loads.return_value = MagicMock()
     transport = XmppTransport.factory(
         "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
         signal._presence_publisher, None, None)
     transport._jid_cache = JidCache(signal, 30)
     register_stanza_plugin(Message, IpopSignal)
     msg = Message()
     msg["from"] = "ipop"
     transport.boundjid.full = "edgevpn"
     msg["ipop"]["type"] = "invk"
     msg["ipop"]["payload"] = {"Action": "announce"}
     transport._sig.handle_remote_action = MagicMock()
     transport.message_listener(msg)
     mock_loads.assert_called_once()
     transport._sig.handle_remote_action.assert_called_once()
     print("Passed : testtransport_message_listener_with_invk")