Example #1
0
    def test_parse_none_body(self):
        """ Ensure proper behavior when parsing a nonexisting message body. """
        mock_client = self.mox.CreateMockAnything()
        self.mox.StubOutWithMock(CommandHandler, "__init__")

        CommandHandler.__init__(mock_client)

        self.mox.ReplayAll()

        cmdhandler = CommandHandler(mock_client)
        self.assertEqual(None, cmdhandler.parse_body(None))
Example #2
0
    def test_get_presence_handlers(self):
        """ Make sure that the handler of eache presence type
           is in fact callable. """ 
        self.mox.ReplayAll()

        cmdhandler = CommandHandler()

        self.assertNotEquals([], cmdhandler.get_presence_handlers())

        for (typ, handler) in cmdhandler.get_presence_handlers():
            self.assertTrue(callable(handler))
Example #3
0
    def test_do_command_no_command_no_args(self):
        """ Ensure proper behavior when when a None command. """
        mock_client = self.mox.CreateMockAnything()
        self.mox.StubOutWithMock(CommandHandler, "__init__")

        CommandHandler.__init__(mock_client)

        self.mox.ReplayAll()

        cmdhandler = CommandHandler(mock_client)
        cmdhandler.do_command(None)
Example #4
0
    def test_do_command_no_args(self):
        """ Test handling of commands with no arguments. """
        mock_command = self.mox.CreateMockAnything()
        mock_client = self.mox.CreateMockAnything()
        self.mox.StubOutWithMock(CommandHandler, "__init__")

        CommandHandler.__init__(mock_client)

        self.mox.ReplayAll()

        cmdhandler = CommandHandler(mock_client)
        cmdhandler.do_command(mock_command)
Example #5
0
    def test_parse_body(self):
        """ Test the default message body parsing. """
        mock_body = self.mox.CreateMockAnything()
        mock_client = self.mox.CreateMockAnything()
        self.mox.StubOutWithMock(CommandHandler, "__init__")

        CommandHandler.__init__(mock_client)

        self.mox.ReplayAll()

        cmdhandler = CommandHandler(mock_client)
        self.assertEqual(mock_body, cmdhandler.parse_body(mock_body))
Example #6
0
    def test_get_message_handlers(self):
        """ Make sure that we've got one normal message handler, and
            that the handler is callable. """
        self.mox.ReplayAll()

        cmdhandler = CommandHandler()

        normal_handler = \
            [(typ, handler)
            for (typ, handler) in cmdhandler.get_message_handlers()
            if "normal" == typ]

        self.assertEquals(1, len(normal_handler))

        (typ, handler) = normal_handler[0]

        self.assertTrue(callable(handler))
Example #7
0
    def test_message_headline(self):
        """ Ensure proper handling of a headline stanza. """
        mock_stanza = self.mox.CreateMockAnything()
        mock_subject = self.mox.CreateMockAnything()
        mock_body = self.mox.CreateMockAnything()
        mock_type = self.mox.CreateMockAnything()
        mock_client = self.mox.CreateMockAnything()

        self.mox.StubOutWithMock(CommandHandler, "__init__")
        self.mox.StubOutWithMock(CommandHandler, "parse_body")
        self.mox.StubOutWithMock(CommandHandler, "log_message")

        CommandHandler.__init__(mock_client)

        mock_stanza.get_subject().AndReturn(mock_subject)
        mock_stanza.get_body().AndReturn(mock_body)
        mock_stanza.get_type().AndReturn(mock_type)
        
        CommandHandler.log_message(
                mock_stanza,
                mock_subject,
                mock_body,
                mock_type)

        mock_stanza.get_type().AndReturn("headline")

        self.mox.ReplayAll()

        cmdhandler = CommandHandler(mock_client)
        self.assertEqual(True, cmdhandler.message(mock_stanza))
Example #8
0
    def test_message_subject(self):
        """ Ensure proper handling of a subject stanza. """
        mock_stanza = self.mox.CreateMockAnything()
        mock_body = self.mox.CreateMockAnything()
        mock_client = self.mox.CreateMockAnything()

        self.mox.StubOutWithMock(CommandHandler, "__init__")
        self.mox.StubOutWithMock(CommandHandler, "parse_body")
        self.mox.StubOutWithMock(CommandHandler, "log_message")

        self.mox.StubOutWithMock(Message, "__init__")
        self.mox.StubOutWithMock(Message, "__del__")

        CommandHandler.__init__(mock_client)

        mock_stanza.get_subject().AndReturn("subject")
        mock_stanza.get_body().AndReturn(mock_body)
        mock_stanza.get_type().AndReturn("body")
        
        CommandHandler.log_message(mock_stanza, "subject", mock_body, "body")

        mock_stanza.get_type().AndReturn("body")

        CommandHandler.parse_body(mock_body).AndReturn("response")

        mock_stanza.get_from().AndReturn("from")
        mock_stanza.get_to().AndReturn("to")

        Message.__init__(
                to_jid = "from",
                from_jid = "to",
                stanza_type = "body",
                subject = u"Re: subject",
                body = "response")

        Message.__del__()

        self.mox.ReplayAll()

        cmdhandler = CommandHandler(mock_client)
        self.assertNotEqual(None, cmdhandler.message(mock_stanza))
Example #9
0
    def test_presence_control(self):
        """ Test the handling of presence stanzas. """
        mock_stanza = self.mox.CreateMockAnything()
        mock_client = self.mox.CreateMockAnything()
        self.mox.StubOutWithMock(CommandHandler, "__init__")
        self.mox.StubOutWithMock(CommandHandler, "log_presence_control")

        CommandHandler.__init__(mock_client)
        CommandHandler.log_presence_control(mock_stanza)
        mock_stanza.make_accept_response().AndReturn(True)

        self.mox.ReplayAll()

        cmdhandler = CommandHandler(mock_client)
        self.assertTrue(cmdhandler.presence_control(mock_stanza))
Example #10
0
    def test_message_no_response(self):
        """ Test a mesage that does not yield a parse result. """
        mock_stanza = self.mox.CreateMockAnything()
        mock_body = self.mox.CreateMockAnything()
        mock_client = self.mox.CreateMockAnything()
        self.mox.StubOutWithMock(CommandHandler, "__init__")
        self.mox.StubOutWithMock(CommandHandler, "parse_body")
        self.mox.StubOutWithMock(CommandHandler, "log_message")

        self.mox.StubOutWithMock(Message, "__init__")
        self.mox.StubOutWithMock(Message, "__del__")

        CommandHandler.__init__(mock_client)

        mock_stanza.get_subject()
        mock_stanza.get_body().AndReturn(mock_body)
        mock_stanza.get_type().AndReturn("body")
        
        CommandHandler.log_message(mock_stanza, None, mock_body, "body")

        mock_stanza.get_type().AndReturn("body")

        CommandHandler.parse_body(mock_body).AndReturn(None)

        mock_stanza.get_from().AndReturn("from")
        mock_stanza.get_to().AndReturn("to")

        Message.__init__(
                to_jid = "from",
                from_jid = "to",
                stanza_type = "body",
                subject = None,
                body = "unknown command")

        self.mox.ReplayAll()

        cmdhandler = CommandHandler(mock_client)
        self.assertNotEqual(None, cmdhandler.message(mock_stanza))