示例#1
0
    def test_format_custom_blacklist_attributes_are_masked(self):
        cfg.CONF.set_override(group='log',
                              name='mask_secrets_blacklist',
                              override=['blacklisted_4', 'blacklisted_5'])
        formatter = ConsoleLogFormatter()

        mock_message = 'test message 1'

        record = MockRecord()
        record.msg = mock_message

        # Add "extra" attributes
        record._blacklisted_1 = 'test value 1'
        record._blacklisted_2 = 'test value 2'
        record._blacklisted_3 = {
            'key1': 'val1',
            'blacklisted_1': 'val2',
            'key3': 'val3'
        }
        record._blacklisted_4 = 'fowa'
        record._blacklisted_5 = 'fiva'
        record._foo1 = 'bar'

        message = formatter.format(record=record)
        expected = (
            "test message 1 (foo1='bar',blacklisted_1='********',blacklisted_2='********',"
            "blacklisted_3={'key3': 'val3', 'key1': 'val1', 'blacklisted_1': '********'},"
            "blacklisted_4='********',blacklisted_5='********')")
        self.assertEqual(sorted(message), sorted(expected))
示例#2
0
    def test_format(self):
        formatter = ConsoleLogFormatter()

        # No extra attributes
        mock_message = 'test message 1'

        record = MockRecord()
        record.msg = mock_message

        message = formatter.format(record=record)
        self.assertEqual(message, mock_message)

        # Some extra attributes
        mock_message = 'test message 2'

        record = MockRecord()
        record.msg = mock_message

        # Add "extra" attributes
        record._user_id = 1
        record._value = 'bar'
        record.ignored = 'foo'  # this one is ignored since it doesnt have a prefix

        message = formatter.format(record=record)
        expected = 'test message 2 (value=\'bar\',user_id=1)'
        self.assertEqual(message, expected)
示例#3
0
    def test_format(self):
        formatter = ConsoleLogFormatter()

        # No extra attributes
        mock_message = 'test message 1'

        record = MockRecord()
        record.msg = mock_message

        message = formatter.format(record=record)
        self.assertEqual(message, mock_message)

        # Some extra attributes
        mock_message = 'test message 2'

        record = MockRecord()
        record.msg = mock_message

        # Add "extra" attributes
        record._user_id = 1
        record._value = 'bar'
        record.ignored = 'foo'  # this one is ignored since it doesnt have a prefix

        message = formatter.format(record=record)
        expected = 'test message 2 (value=\'bar\',user_id=1)'
        self.assertEqual(sorted(message), sorted(expected))
示例#4
0
文件: test_logger.py 项目: nzlosh/st2
    def test_format_blacklisted_attributes_are_masked(self):
        formatter = ConsoleLogFormatter()

        mock_message = 'test message 1'

        record = MockRecord()
        record.msg = mock_message

        # Add "extra" attributes
        record._blacklisted_1 = 'test value 1'
        record._blacklisted_2 = 'test value 2'
        record._blacklisted_3 = {'key1': 'val1', 'blacklisted_1': 'val2', 'key3': 'val3'}
        record._foo1 = 'bar'

        message = formatter.format(record=record)
        expected = ("test message 1 (blacklisted_1='********',blacklisted_2='********',"
                    "blacklisted_3={'key3': 'val3', 'key1': 'val1', 'blacklisted_1': '********'},"
                    "foo1='bar')")
        self.assertEqual(sorted(message), sorted(expected))
    def test_format_blacklisted_attributes_are_masked(self):
        formatter = ConsoleLogFormatter()

        mock_message = 'test message 1'

        record = MockRecord()
        record.msg = mock_message

        # Add "extra" attributes
        record._blacklisted_1 = 'test value 1'
        record._blacklisted_2 = 'test value 2'
        record._blacklisted_3 = {'key1': 'val1', 'blacklisted_1': 'val2', 'key3': 'val3'}
        record._foo1 = 'bar'

        message = formatter.format(record=record)
        expected = ("test message 1 (blacklisted_1='********',blacklisted_2='********',"
                    "blacklisted_3={'key3': 'val3', 'key1': 'val1', 'blacklisted_1': '********'},"
                    "foo1='bar')")
        self.assertEqual(message, expected)
示例#6
0
    def test_format_secret_action_parameters_are_masked(self):
        formatter = ConsoleLogFormatter()

        mock_message = 'test message 1'

        mock_action_db = ActionDB()
        mock_action_db.name = 'test.action'
        mock_action_db.pack = 'testpack'
        mock_action_db.parameters = {
            'parameter1': {
                'type': 'string',
                'required': False
            },
            'parameter2': {
                'type': 'string',
                'required': False,
                'secret': True
            }
        }

        mock_action_execution_db = ActionExecutionDB()
        mock_action_execution_db.action = mock_action_db.to_serializable_dict()
        mock_action_execution_db.parameters = {
            'parameter1': 'value1',
            'parameter2': 'value2'
        }

        record = MockRecord()
        record.msg = mock_message

        # Add "extra" attributes
        record._action_execution_db = mock_action_execution_db

        expected_msg_part = "'parameters': {'parameter1': 'value1', 'parameter2': '********'}"

        message = formatter.format(record=record)
        self.assertTrue('test message 1' in message)
        self.assertTrue(expected_msg_part in message)
示例#7
0
文件: test_logger.py 项目: nzlosh/st2
    def test_format_custom_blacklist_attributes_are_masked(self):
        cfg.CONF.set_override(group='log', name='mask_secrets_blacklist',
                              override=['blacklisted_4', 'blacklisted_5'])
        formatter = ConsoleLogFormatter()

        mock_message = 'test message 1'

        record = MockRecord()
        record.msg = mock_message

        # Add "extra" attributes
        record._blacklisted_1 = 'test value 1'
        record._blacklisted_2 = 'test value 2'
        record._blacklisted_3 = {'key1': 'val1', 'blacklisted_1': 'val2', 'key3': 'val3'}
        record._blacklisted_4 = 'fowa'
        record._blacklisted_5 = 'fiva'
        record._foo1 = 'bar'

        message = formatter.format(record=record)
        expected = ("test message 1 (foo1='bar',blacklisted_1='********',blacklisted_2='********',"
                    "blacklisted_3={'key3': 'val3', 'key1': 'val1', 'blacklisted_1': '********'},"
                    "blacklisted_4='********',blacklisted_5='********')")
        self.assertEqual(sorted(message), sorted(expected))
示例#8
0
    def test_format_secret_action_parameters_are_masked(self):
        formatter = ConsoleLogFormatter()

        mock_message = 'test message 1'

        parameters = {
            'parameter1': {
                'type': 'string',
                'required': False
            },
            'parameter2': {
                'type': 'string',
                'required': False,
                'secret': True
            }
        }
        mock_action_db = ActionDB(pack='testpack',
                                  name='test.action',
                                  parameters=parameters)

        action = mock_action_db.to_serializable_dict()
        parameters = {'parameter1': 'value1', 'parameter2': 'value2'}
        mock_action_execution_db = ActionExecutionDB(action=action,
                                                     parameters=parameters)

        record = MockRecord()
        record.msg = mock_message

        # Add "extra" attributes
        record._action_execution_db = mock_action_execution_db

        expected_msg_part = (r"'parameters': {u?'parameter1': u?'value1', "
                             r"u?'parameter2': u?'\*\*\*\*\*\*\*\*'}")

        message = formatter.format(record=record)
        self.assertTrue('test message 1' in message)
        self.assertRegexpMatches(message, expected_msg_part)
示例#9
0
文件: test_logger.py 项目: nzlosh/st2
    def test_format_secret_action_parameters_are_masked(self):
        formatter = ConsoleLogFormatter()

        mock_message = 'test message 1'

        parameters = {
            'parameter1': {
                'type': 'string',
                'required': False
            },
            'parameter2': {
                'type': 'string',
                'required': False,
                'secret': True
            }
        }
        mock_action_db = ActionDB(pack='testpack', name='test.action', parameters=parameters)

        action = mock_action_db.to_serializable_dict()
        parameters = {
            'parameter1': 'value1',
            'parameter2': 'value2'
        }
        mock_action_execution_db = ActionExecutionDB(action=action, parameters=parameters)

        record = MockRecord()
        record.msg = mock_message

        # Add "extra" attributes
        record._action_execution_db = mock_action_execution_db

        expected_msg_part = (r"'parameters': {u?'parameter1': u?'value1', "
                             r"u?'parameter2': u?'\*\*\*\*\*\*\*\*'}")

        message = formatter.format(record=record)
        self.assertTrue('test message 1' in message)
        self.assertRegexpMatches(message, expected_msg_part)