def test_message_trashed(self): alice_session = P2pSession(server_address=self.server, port=self.port, jid=self.alice_ident, password=self.password) bob_session = P2pSession(server_address=self.server, port=self.port, jid=self.bob_ident, password=self.password) alice_session.authorize_subscriptions() bob_session.authorize_subscriptions() # mutual subscription initiated by alice alice_session.subscribe(targetjid=self.bob_ident) bob_session.session_disconnect() time.sleep(1) # let subscription process occur logging.getLogger().addHandler(self.asserting_handler) alice_session.session_send(recipient=self.bob_ident, msg=self.test_msg) time.sleep(1) # let the msg be logged self.asserting_handler.assert_logged("%s skipped (not online)" % self.bob_ident) logging.getLogger().removeHandler(self.asserting_handler)
def test_subscription_rejected_by_default(self): alice_session = P2pSession(server_address=self.server, port=self.port, jid=self.alice_ident, password=self.password) bob_session = P2pSession(server_address=self.server, port=self.port, jid=self.bob_ident, password=self.password) alice_roster = alice_session.get_session_roster() assert self.bob_ident not in alice_roster.keys() bob_session.subscribe(targetjid=self.alice_ident) time.sleep(1) # let the subscription be processed assert alice_roster[self.bob_ident]['subscription'] == 'none' alice_session.authorize_subscriptions() bob_session.subscribe(targetjid=self.alice_ident) time.sleep(1) # let the subscription be processed assert alice_roster[self.bob_ident]['subscription'] == 'from' bob_session.authorize_subscriptions() alice_session.subscribe(targetjid=self.bob_ident) time.sleep(1) # let the subscription be processed assert alice_roster[self.bob_ident]['subscription'] == 'both'
def test_message_blocked_not_in_roster(self): alice_session = P2pSession(server_address=self.server, port=self.port, jid=self.alice_ident, password=self.password) bob_session = P2pSession(server_address=self.server, port=self.port, jid=self.bob_ident, password=self.password) bob_session.set_msg_callback(cb=self.callback) alice_session.session_send(recipient=self.bob_ident, msg=self.test_msg) time.sleep(1) # let the message transit assert self.from_jid == None assert self.msg_body == None
def test_message_to_myself(self): session = P2pSession(server_address=self.server, port=self.port, jid=self.ident, password=self.password) session.set_msg_callback(cb=self.callback) session.session_send(recipient=self.ident, msg=self.test_msg) time.sleep(1) # let the message transit assert self.from_jid == self.ident assert self.msg_body == self.test_msg
def test_message_blocked_bob_reject(self): alice_session = P2pSession(server_address=self.server, port=self.port, jid=self.alice_ident, password=self.password) bob_session = P2pSession(server_address=self.server, port=self.port, jid=self.bob_ident, password=self.password) alice_session.authorize_subscriptions() # mutual subscription initiated by alice alice_session.subscribe(targetjid=self.bob_ident) bob_session.set_msg_callback(cb=self.callback) time.sleep(1) # let subscription process occur alice_session.session_send(recipient=self.bob_ident, msg=self.test_msg) time.sleep(1) # let the message transit assert self.from_jid == None assert self.msg_body == None
def do_start_session(self, arg): """ Start an xmpp session to server defined in conf with JID and password passed in argument args: JID password """ if self.session is not None: print("Already in a session. End session first.") else: arg = arg.split() (server, port) = self._get_server_and_port_from_conf() self.session = P2pSession(server_address=server, port=port, jid=arg[0], password=arg[1]) PyP2pShell.prompt = '(pyp2p) %s>' % arg[0]