Exemple #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, EvioSignal)
     msg = Message()
     msg["from"] = "ipop"
     transport.boundjid.full = "edgevpn"
     msg["evio"]["type"] = "uid!"
     msg["evio"]["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")
Exemple #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, EvioSignal)
     msg = Message()
     msg["from"] = "ipop"
     transport.boundjid.full = "edgevpn"
     msg["evio"]["type"] = "announce"
     msg["evio"]["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"
     )
Exemple #3
0
 def testtransport_presence_event_handler_with_exception(self):
     """
     Test to check the presence method with an exception raised 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)
     presence = {
         "from": "raj",
         "to": "raj@ipop",
         "status": "uid?#1234434323"
     }
     transport.boundjid = JID("raj@ipop/ipop")
     transport.send_msg = MagicMock()
     transport.send_msg.side_effect = Exception()
     jid_cache = Mock()
     presence_publisher = Mock()
     transport._presence_publisher = presence_publisher
     transport._presence_publisher.post_update = MagicMock()
     transport._jid_cache = jid_cache
     transport._jid_cache.add_entry = MagicMock()
     transport._sig.sig_log = MagicMock()
     transport.presence_event_handler(presence)
     transport.send_msg.assert_called_once()
     transport._sig.sig_log.assert_called_once()
     print("Passed : testtransport_presence_event_handler_with_uid")
Exemple #4
0
 def testsignal_timer_method(self):
     """
     Test to check the timer method 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)
     rem_acts = {}
     jid_cache = JidCache(signal, 5)
     jid_cache.scavenge = MagicMock()
     signal.scavenge_pending_cbts = MagicMock()
     transport.event_loop = MagicMock()
     signal._circles = {
         "A0FB389": {
             "Announce": 0,
             "Transport": transport,
             "OutgoingRemoteActs": rem_acts,
             "JidCache": jid_cache
         }
     }
     signal._circles["A0FB389"][
         "Transport"].event_loop.call_soon_threadsafe = MagicMock()
     signal.timer_method()
     signal._circles["A0FB389"][
         "Transport"].event_loop.call_soon_threadsafe.assert_called_once()
     jid_cache.scavenge.assert_called_once()
     signal.scavenge_pending_cbts.assert_called_once()
     print("Passed : testsignal_timer_method")
Exemple #5
0
 def testsignal_resp_handler_remote_action(self):
     """
     Test to check the handling remote action method  with a response of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     cbt = CBT()
     cbt.request.params = {"RecipientId": "1", "OverlayId": "A0FB389"}
     jid_cache = JidCache(signal, 5)
     jid_cache.add_entry("1", "2345")
     transport = XmppTransport.factory(
         "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
         signal._presence_publisher, None, None)
     transport.send_msg = MagicMock()
     signal._circles = {
         "A0FB389": {
             "JidCache": jid_cache,
             "Transport": transport
         }
     }
     cbt.tag = "1"
     signal.submit_cbt(cbt)
     resp = CBT.Response()
     cbt.response = resp
     rem_act = {"InitiatorId": "1", "OverlayId": "A0FB389"}
     signal._remote_acts["1"] = rem_act
     signal.submit_cbt(cbt)
     signal.transmit_remote_act = MagicMock()
     signal.free_cbt = MagicMock()
     signal.resp_handler_remote_action(cbt)
     signal.transmit_remote_act.assert_called_once()
     signal.free_cbt.assert_called_once()
     print("Passed : testsignal_resp_handler_remote_action")
Exemple #6
0
 def testtransport_factory_without_user(self):
     """
     Test to check the factory method of the transport instance without the username of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     sig_dict["Signal"]["Overlays"]["A0FB389"]["Username"] = None
     with self.assertRaises(RuntimeError):
         transport = XmppTransport.factory(
             "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
             signal._presence_publisher, None, None)
     print("Passed : testtransport_factory_without_user")
Exemple #7
0
 def testtransport_factory_with_password(self):
     """
     Test to check the factory method of the transport instance of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     self.assertTrue(
         isinstance(
             XmppTransport.factory(
                 "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
                 signal._presence_publisher, None, None), XmppTransport))
     print("Passed : testtransport_factory_with_password")
Exemple #8
0
 def testtransport_start_process(self):
     """
     Test to check the start_process method of the transport instance of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     transport = XmppTransport.factory(
         1, sig_dict["Signal"]["Overlays"]["A0FB389"], signal, None, None,
         None)
     transport.loop.run_forever = MagicMock()
     transport.start_process()
     transport.loop.run_forever.assert_called_once()
     print("Passed : testtransport_start_process")
Exemple #9
0
 def testtransport_connect_to_server(self):
     """
     Test to check the connect to server of the transport instance of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     transport = XmppTransport.factory(
         1, sig_dict["Signal"]["Overlays"]["A0FB389"], signal, None, None,
         None)
     transport._sig.sig_log = MagicMock()
     transport.connect = MagicMock()
     XmppTransport.connect_to_server(transport)
     transport._sig.sig_log.assert_called_once()
     transport.connect.assert_called_once()
     print("Passed : testtransport_connect_to_server")
Exemple #10
0
 def testtransport_factory_without_password(self):
     """
     Test to check the factory method of the transport instance without the password of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     sig_dict["Signal"]["Overlays"]["A0FB389"]["Password"] = None
     transport = XmppTransport.factory(
         "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
         signal._presence_publisher, None, None)
     transport.add_event_handler = MagicMock()
     transport.register_handler = MagicMock()
     transport.get_roster = MagicMock()
     self.assertTrue(isinstance(transport, XmppTransport))
     print("Passed : testtransport_factory_without_password")
Exemple #11
0
 def testtransport_start_event_handler(self):
     """
     Test to check the start of the event handler of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     transport = XmppTransport.factory(
         1, sig_dict["Signal"]["Overlays"]["A0FB389"], signal, None, None,
         None)
     transport._sig.sig_log = MagicMock()
     transport.add_event_handler = MagicMock()
     transport.register_handler = MagicMock()
     transport.get_roster = MagicMock()
     transport.start_event_handler(event=None)
     transport.add_event_handler.assert_called_once()
     transport.get_roster.assert_called_once()
     print("Passed : testtransport_start_event_handler")
Exemple #12
0
 def testsignal_req_handler_query_reporting_data(self):
     """
     Test to check the reporting of data method of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     cbt = CBT()
     transport = XmppTransport.factory(
         "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
         signal._presence_publisher, None, None)
     transport._host = "IPOP"
     transport.boundjid.full = "ipopuser"
     signal._circles = {"A0FB389": {"Transport": transport}}
     signal.complete_cbt = MagicMock()
     signal.req_handler_query_reporting_data(cbt)
     signal.complete_cbt.assert_called_once()
     print("Passed : testsignal_req_handler_query_reporting_data")
Exemple #13
0
 def testsignal_terminate(self):
     """
     Test to check the terminate method of 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.shutdown = MagicMock()
     signal._circles = {
         "A0FB389": {
             "Transport": transport,
             "OutgoingRemoteActs": {}
         }
     }
     signal.terminate()
     transport.shutdown.assert_called_once()
     print("Passed : test_signal_terminate")
Exemple #14
0
 def testtransport_send_message(self, msg_mock):
     """
     Test to check the send message method of transport instance of the signal class.
     """
     register_stanza_plugin(Message, EvioSignal)
     sig_dict, signal = self.setup_vars_mocks()
     transport = XmppTransport.factory(
         "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
         signal._presence_publisher, None, None)
     transport.loop.call_soon_threadsafe = MagicMock()
     transport.register_handler(
         Callback("ipop", StanzaPath("message/ipop"),
                  transport.message_listener))
     msg = transport.Message()
     msg_mock.return_value = msg
     msg.send = MagicMock()
     transport.send_msg("2", "invk", "Data")
     transport.loop.call_soon_threadsafe.assert_called_once()
     transport.loop.call_soon_threadsafe.assert_called_with(msg.send)
     print("Passed : testtransport_send_message")
Exemple #15
0
 def testtransmit_remote_act_nopeer_jid(self):
     """
     Test to check the transmit remote action method with no peer jid of the signal class.
     """
     rem_act = {"InitiatorId": "1", "OverlayId": "A0FB389"}
     sig_dict, signal = self.setup_vars_mocks()
     jid_cache = JidCache(signal, 5)
     transport = XmppTransport.factory(
         "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
         signal._presence_publisher, None, None)
     transport.send_presence = MagicMock()
     signal._circles = {
         "A0FB389": {
             "JidCache": jid_cache,
             "Transport": transport,
             "OutgoingRemoteActs": {}
         }
     }
     signal.transmit_remote_act(rem_act, "1", "invk")
     transport.send_presence.assert_called_once()
     print("Passed : testtransmit_remote_act_nopeer_jid")
Exemple #16
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, EvioSignal)
     msg = Message()
     msg["from"] = "ipop"
     transport.boundjid.full = "edgevpn"
     msg["evio"]["type"] = "invk"
     msg["evio"]["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")
Exemple #17
0
 def testtransport_factory_with_x509(self):
     """
     Test to check the factory method of the transport instance with x509 auth_method of the signal class.
     """
     sig_dict, signal = self.setup_vars_mocks()
     sig_dict["Signal"]["Overlays"]["A0FB389"][
         "AuthenticationMethod"] = "x509"
     sig_dict["Signal"]["Overlays"]["A0FB389"]["TrustStore"] = {}
     sig_dict["Signal"]["Overlays"]["A0FB389"][
         "CertDirectory"] = "/home/cert"
     sig_dict["Signal"]["Overlays"]["A0FB389"]["CertFile"] = "file1"
     sig_dict["Signal"]["Overlays"]["A0FB389"]["KeyFile"] = "keyfile"
     transport = XmppTransport.factory(
         "1", sig_dict["Signal"]["Overlays"]["A0FB389"], signal,
         signal._presence_publisher, None, None)
     self.assertTrue(isinstance(transport, XmppTransport))
     print(transport.certfile)
     print(transport.keyfile)
     assert transport.certfile == "/home/cert\\file1"
     assert transport.keyfile == "/home/cert\keyfile"
     print("Passed : testtransport_factory_with_x509")