Esempio n. 1
0
    def test_post_to_invalid_web_hook(self):
        logger = SlackLogger(DUMMY_WEB_HOOK)

        time.sleep(2)
        with pytest.raises(Exception) as exc_info:
            logger.error('Test Message', 'Test Title')
        assert 'Failed' in str(exc_info.value)
Esempio n. 2
0
    def test_to_set_invalid_value_log_level(self):
        logger = SlackLogger(DUMMY_WEB_HOOK)

        for lv in [0, 50, 99, 'INFO']:
            with pytest.raises(ValueError):
                logger.set_log_level(lv)

        with pytest.raises(TypeError):
            logger.set_log_level()
Esempio n. 3
0
    def test_build_payload_with_custom_fields(self):
        logger = SlackLogger(DUMMY_WEB_HOOK, '#dummy_channel', 'Test User')

        test_fields = list()
        test_fields.append({
            'title': 'Project',
            'value': 'Test Project',
            'short': True
        })
        test_fields.append({
            'title': 'Environment',
            'value': 'Test',
            'short': True
        })

        actual = logger._SlackLogger__build_payload('test_build_payload_with_custom_fields',
                                                    'Test Title',
                                                    'https://github.com/iktakahiro/slackpy',
                                                    'Color Name',
                                                    test_fields)

        expected = {
            'channel': '#dummy_channel',
            'username': '******',
            'icon_url': None,
            'attachments': [
                {'color': 'Color Name',
                 'text': 'test_build_payload_with_custom_fields',
                 'title': 'Test Title',
                 'title_link': 'https://github.com/iktakahiro/slackpy',
                 'mrkdwn_in': ['text', 'fields', 'title'],
                 'fields': [
                     {
                         'title': 'Project',
                         'value': 'Test Project',
                         'short': True
                     }, {
                         'title': 'Environment',
                         'value': 'Test',
                         'short': True
                     }
                 ],
                 }]
        }

        assert expected == actual
Esempio n. 4
0
    def test_log_level_threshold(self):
        logger = SlackLogger('http://dummy_url')

        actual = logger.debug('TEST')
        assert actual is None

        logger.set_log_level(LogLv.WARN)

        actual = logger.info('TEST')
        assert actual is None

        logger.set_log_level(LogLv.ERROR)

        actual = logger.warn('TEST')
        assert actual is None
Esempio n. 5
0
    def test_build_payload_with_custom_fields(self):

        logger = SlackLogger('http://dummy_url', '#dummy_channel', 'Test User')

        test_fields = []
        test_fields.append({
            "title": "Project",
            "value": "Test Project",
            "short": "true"
        })
        test_fields.append({
            "title": "Environment",
            "value": "Test",
            "short": "true"
        })

        actual = logger._SlackLogger__build_payload('Test Message',
                                                    'Test Title',
                                                    'Color Name',
                                                    'Fallback Text',
                                                    test_fields)

        expected = {
            "channel": "#dummy_channel",
            "username": "******",
            "attachments":
                [{
                    "fallback": "Fallback Text",
                    "color": "Color Name",
                    "text": "Test Message",
                    "fields": [{
                        "title": "Project",
                        "value": "Test Project",
                        "short": "true"
                    }, {
                        "title": "Environment",
                        "value": "Test",
                        "short": "true"
                    }]
                }]
        }

        assert expected == actual
Esempio n. 6
0
    def test_build_payload_with_custom_fields(self):
        logger = SlackLogger('http://dummy_url', '#dummy_channel', 'Test User')

        test_fields = []
        test_fields.append({
            "title": "Project",
            "value": "Test Project",
            "short": "true"
        })
        test_fields.append({
            "title": "Environment",
            "value": "Test",
            "short": "true"
        })

        actual = logger._SlackLogger__build_payload('Test Message',
                                                    'Test Title',
                                                    'Color Name',
                                                    'Fallback Text',
                                                    test_fields)

        expected = {
            "channel": "#dummy_channel",
            "username": "******",
            "attachments":
                [{
                    "fallback": "Fallback Text",
                    "color": "Color Name",
                    "text": "Test Message",
                    "fields": [{
                        "title": "Project",
                        "value": "Test Project",
                        "short": "true"
                    }, {
                        "title": "Environment",
                        "value": "Test",
                        "short": "true"
                    }]
                }]
        }

        assert expected == actual
Esempio n. 7
0
    def test_log_level_threshold(self):
        logger = SlackLogger(DUMMY_WEB_HOOK)

        actual = logger.debug('TEST')
        assert actual is None

        logger.set_log_level(LogLv.WARN)

        actual = logger.info('TEST')
        assert actual is None

        logger.set_log_level(LogLv.ERROR)

        actual = logger.warn('TEST')
        assert actual is None
Esempio n. 8
0
    def test_build_payload_with_all_parameters(self):
        logger = SlackLogger(DUMMY_WEB_HOOK, '#dummy_channel', 'Test User', 'http://example.com/example.png')
        actual = logger._SlackLogger__build_payload('test_build_payload_with_all_parameters',
                                                    'Test Title',
                                                    'https://github.com/iktakahiro/slackpy',
                                                    'Color Name',
                                                    '')

        expected = {
            'channel': '#dummy_channel',
            'username': '******',
            'icon_url': 'http://example.com/example.png',
            'attachments': [
                {'color': 'Color Name',
                 'text': 'test_build_payload_with_all_parameters',
                 'title': 'Test Title',
                 'title_link': 'https://github.com/iktakahiro/slackpy',
                 'mrkdwn_in': ['text', 'fields', 'title'],
                 'fields': '',
                 }]
        }

        assert expected == actual
Esempio n. 9
0
    def test_build_payload_without_specifying_optional_parameters(self):
        logger = SlackLogger(DUMMY_WEB_HOOK)
        actual = logger._SlackLogger__build_payload('test_build_payload_without_specifying_optional_parameters',
                                                    'Test Title',
                                                    'https://github.com/iktakahiro/slackpy',
                                                    'Color Name',
                                                    '')

        expected = {
            'channel': None,
            'username': '******',
            'icon_url': None,
            'attachments': [
                {'color': 'Color Name',
                 'text': 'test_build_payload_without_specifying_optional_parameters',
                 'title': 'Test Title',
                 'title_link': 'https://github.com/iktakahiro/slackpy',
                 'mrkdwn_in': ['text', 'fields', 'title'],
                 'fields': '',
                 }]
        }

        assert expected == actual
Esempio n. 10
0
    def test_build_payload_without_specifying_optional_parameters(self):
        logger = SlackLogger('http://dummy_url')
        actual = logger._SlackLogger__build_payload('Test Message',
                                                    'Test Title',
                                                    'Color Name',
                                                    'Fallback Text',
                                                    '')

        expected = {
            "channel": None,
            "username": "******",
            "attachments":
                {
                    "fields": {
                        "title": "Test Title",
                        "text": "Test Message",
                        "color": "Color Name",
                        "fallback": "Fallback Text",
                    }
                }
        }

        assert expected == actual
Esempio n. 11
0
    def test_to_set_invalid_value_log_level(self):
        logger = SlackLogger('http://dummy_url')

        for lv in [0, 50, 99, 'INFO']:
            with pytest.raises(ValueError):
                logger.set_log_level(lv)

        with pytest.raises(TypeError):
            logger.set_log_level()
Esempio n. 12
0
    def test_post_to_valid_web_hook(self):
        logger = SlackLogger(VALID_WEB_HOOK, icon_url="http://lorempixel.com/48/48")
        logger.set_log_level(LogLv.DEBUG)

        fields = [{
            'title': 'Project',
            'value': 'Test Project',
            'short': True
        }, {
            'title': 'Environment',
            'value': 'Test',
            'short': True
        }
        ]

        time.sleep(2)
        response = logger.debug('DEBUG', 'test_post_to_valid_web_hook', fields=fields)
        assert response.status_code == 200

        time.sleep(2)
        response = logger.info('INFO', 'test_post_to_valid_web_hook', fields=fields)
        assert response.status_code == 200

        time.sleep(2)
        response = logger.warn('WARN', 'test_post_to_valid_web_hook', fields=fields)
        assert response.status_code == 200

        time.sleep(2)
        response = logger.error('ERROR', 'test_post_to_valid_web_hook', fields=fields)
        assert response.status_code == 200

        time.sleep(2)
        response = logger.message('CUSTOM', 'test_post_to_valid_web_hook',
                                  title_link='https://github.com/iktakahiro/slackpy',
                                  fields=fields, color='warning', log_level=20)
        assert response.status_code == 200
Esempio n. 13
0
    def test_to_set_valid_value_log_level(self):
        logger = SlackLogger(DUMMY_WEB_HOOK)

        for lv in [10, 20, 30, 40]:
            logger.set_log_level(lv)
            assert logger.log_level == lv
Esempio n. 14
0
    def test_title_link(self):
        logger = SlackLogger(VALID_WEB_HOOK)

        time.sleep(2)
        response = logger.info('test_title_link', 'slackpy repository', 'https://github.com/iktakahiro/slackpy')
        assert response.status_code == 200
Esempio n. 15
0
    def test_to_set_valid_value_log_level(self):
        logger = SlackLogger('http://dummy_url')

        for lv in [10, 20, 30, 40]:
            logger.set_log_level(lv)
            assert logger.log_level == lv
Esempio n. 16
0
 def test_channel_value_error(self):
     with pytest.raises(ValueError):
         SlackLogger('http://dummy_url', 'dummy_channel', 'Test User')
Esempio n. 17
0
 def test_default_log_level(self):
     logger = SlackLogger('http://dummy_url')
     assert logger.log_level == 20
Esempio n. 18
0
    def test_omit_title_link(self):
        logger = SlackLogger(VALID_WEB_HOOK)

        time.sleep(2)
        response = logger.info('test_omit_title_link', 'slackpy repository')
        assert response.status_code == 200
Esempio n. 19
0
    def test_minimum_post_to_valid_web_hook(self):
        logger = SlackLogger(VALID_WEB_HOOK)

        time.sleep(2)
        response = logger.info('test_minimum_post_to_valid_web_hook')
        assert response.status_code == 200