# Authors: # Petr Viktorin # # Copyright (C) 1012 Red Hat # see file 'COPYING' for use and warranty information # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . """ Test the `ipalib.messages` module. """ from ipalib import messages from tests.test_ipalib import test_errors class HelloMessage(messages.PublicMessage): type = 'info' format = '%(greeting)s, %(object)s!' errno = 1234 class test_PublicMessage(test_errors.test_PublicError): """Test public messages""" # The messages are a lot like public errors; defer testing to that. klass = messages.PublicMessage required_classes = (UserWarning, messages.PublicMessage) class test_PublicMessages(test_errors.BaseMessagesTest): message_list = messages.public_messages errno_range = xrange(10000, 19999) required_classes = (UserWarning, messages.PublicMessage) texts = messages._texts def extratest(self, cls): if cls is not messages.PublicMessage: assert cls.type in ('debug', 'info', 'warning', 'error') def test_to_dict(): expected = dict( name='HelloMessage', type='info', message='Hello, world!', code=1234, ) assert HelloMessage(greeting='Hello', object='world').to_dict() == expected