Example #1
0
    def load(self):
        for path in getattr(settings, 'EXTENSIONS', []):
            logger.debug('Loading extension extension %s' % path)

            try:
                module = __import__(*self._make_import_args(path))
            except ImportError:
                logger.warning('Cannot import extension %s' % path)
                continue

            self.load_module_members(module)

        # Core loading
        self.core = set([
            ControlExtension(self, self.bot),
            HelpExtension(self, self.bot),
            IgnoreExtension(self.bot),
        ])
Example #2
0
class HelpExtensionTestCase(TestCase):

    def setUp(self):
        self.help = HelpExtension(Mock(), mock_bot())

    def test_help_all_single_extension(self):
        fake_ext = Mock(NAME='blah', usage='foo bar baz')
        self.help.registry.get_all_extensions.return_value = [fake_ext]

        assert 'blah: foo bar baz' in self.help.help_all()

    def test_help_all_multiple_extensions(self):
        fake_ext = Mock(NAME='blah', usage='foo bar baz')
        fake_ext2 = Mock(NAME='myext', usage='helga do something')
        self.help.registry.get_all_extensions.return_value = [fake_ext, fake_ext2]

        assert 'blah: foo bar baz' in self.help.help_all()
        assert 'myext: helga do something' in self.help.help_all()

    def test_help_unknown_ext(self):
        self.help.registry.get_all_extensions.return_value = [Mock()]

        assert "don't know that one" in self.help.help('foo')

    def test_help_misconfigured_ext(self):
        self.help.registry.is_extension_name.return_value = True
        self.help.registry.get_all_extensions.return_value = [Mock()]

        assert "don't know that one" in self.help.help('foo')

    def test_help_responds(self):
        fake_ext = Mock(NAME='blah', usage='foo bar baz')
        self.help.registry.is_extension_name.return_value = True
        self.help.registry.get_all_extensions.return_value = [fake_ext]

        assert 'USAGE: foo bar baz' == self.help.help('blah')
Example #3
0
 def setUp(self):
     self.help = HelpExtension(Mock(), mock_bot())