Пример #1
0
    def test_load_plugins(self):
        hipchat = HipChat(nick='Sarah',
                          jid='test@localhost',
                          password='******',
                          plugins=(('sarah.bot.plugins.simple_counter', {}),
                                   ('sarah.bot.plugins.echo', {})),
                          proxy={'host': 'localhost',
                                 'port': 1234,
                                 'username': '******',
                                 'password': '******'})

        hipchat.load_plugins()

        assert_that(hipchat.commands).extract('name').contains('.count',
                                                               '.reset_count',
                                                               '.echo')

        assert_that(hipchat.commands) \
            .extract('name', 'module_name') \
            .contains_sequence(('.count', 'sarah.bot.plugins.simple_counter'),
                               ('.reset_count',
                                'sarah.bot.plugins.simple_counter'),
                               ('.echo', 'sarah.bot.plugins.echo'))

        for command in hipchat.commands:
            assert_that(command.function).is_type_of(types.FunctionType)
Пример #2
0
    def test_non_existing_plugin(self):
        h = HipChat(nick='Sarah',
                    jid='test@localhost',
                    password='******',
                    plugins=(('spam.ham.egg.onion', {}),))
        h.load_plugins()

        assert_that(h.commands).is_empty()
        assert_that(h.scheduler.get_jobs()).is_empty()
Пример #3
0
 def hipchat(self, request):
     # NO h.start() for this test
     h = HipChat(nick='Sarah',
                 jid='test@localhost',
                 password='******',
                 plugins=(('sarah.bot.plugins.simple_counter',
                           {'spam': 'ham'}),
                          ('sarah.bot.plugins.echo',)))
     h.load_plugins()
     return h
Пример #4
0
    def test_missing_rooms_config(self):
        logging.warning = MagicMock()

        hipchat = HipChat(nick='Sarah',
                          jid='test@localhost',
                          password='******',
                          plugins=(('sarah.bot.plugins.bmw_quotes',
                                    {"dummy": "spam"}),))
        hipchat.connect = lambda: True
        hipchat.load_plugins()
        hipchat.run()

        assert_that(logging.warning.call_count).is_true()
        assert_that(logging.warning.call_args) \
            .described_as("Configuration is given, "
                          "but required field is missing") \
            .is_equal_to(call('Missing rooms configuration for schedule job. '
                              'sarah.bot.plugins.bmw_quotes. Skipping.'))