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))
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))
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)
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)
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))
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))
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))
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))
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))
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))