Modify cloudtrail plugin to handle details.responseelements.endpoint

This commit is contained in:
Brandon Myers 2018-02-15 13:32:35 -06:00
Родитель 45faefa5d8
Коммит b5e118c0c0
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 8AA79AD83045BBC7
2 изменённых файлов: 32 добавлений и 0 удалений

Просмотреть файл

@ -83,6 +83,14 @@ class message(object):
'raw_value': subnets_str
}
# Handle details.responseelements.endpoint strings
if 'endpoint' in message['details']['responseelements']:
endpoint_str = message['details']['responseelements']['endpoint']
if type(endpoint_str) is not dict:
message['details']['responseelements']['endpoint'] = {
'raw_value': endpoint_str
}
# Handle details.additionaleventdata strings
if 'additionaleventdata' in message['details']:
additionaleventdata_str = message['details']['additionaleventdata']

Просмотреть файл

@ -236,3 +236,27 @@ class TestCloudtrailPlugin():
}
assert retmessage == expected_message
assert retmeta == {}
def test_endpoint(self):
msg = {
'source': 'cloudtrail',
'details': {
'responseelements': {
'endpoint': 'astringvalue',
}
}
}
(retmessage, retmeta) = self.plugin.onMessage(msg, {})
expected_message = {
'source': 'cloudtrail',
'details': {
'responseelements': {
'endpoint': {
'raw_value': 'astringvalue',
}
}
}
}
assert retmessage == expected_message
assert retmeta == {}