Exemple #1
0
    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)
Exemple #2
0
    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'
Exemple #3
0
    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
Exemple #4
0
    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
Exemple #5
0
    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
Exemple #6
0
    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]