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)
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))
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))
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)
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)
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))
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)
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)