mirror of https://github.com/MISP/PyMISP
enhance coverage and fix en passant with focus on api
parent
afa21e26dc
commit
e7f395a92c
|
@ -189,8 +189,11 @@ class PyMISP(object):
|
||||||
messages = []
|
messages = []
|
||||||
if response.get('error'):
|
if response.get('error'):
|
||||||
if isinstance(response['error'], list):
|
if isinstance(response['error'], list):
|
||||||
for e in response['errors']:
|
for e in response['error']:
|
||||||
messages.append(e['error']['value'][0])
|
if isinstance(e, dict):
|
||||||
|
messages.append(e['error']['value'][0])
|
||||||
|
else:
|
||||||
|
messages.append(e)
|
||||||
else:
|
else:
|
||||||
messages.append(['error'])
|
messages.append(['error'])
|
||||||
elif response.get('errors'):
|
elif response.get('errors'):
|
||||||
|
|
|
@ -269,6 +269,39 @@ class TestOffline(unittest.TestCase):
|
||||||
self.assertTrue(sd['to_ids'] in [0, 1])
|
self.assertTrue(sd['to_ids'] in [0, 1])
|
||||||
self.assertTrue(sd['default_category'] in categories)
|
self.assertTrue(sd['default_category'] in categories)
|
||||||
|
|
||||||
|
def test_flatten_error_messages_singular(self, m):
|
||||||
|
self.initURI(m)
|
||||||
|
pymisp = PyMISP(self.domain, self.key)
|
||||||
|
error = pymisp.get(1)
|
||||||
|
response = self.auth_error_msg
|
||||||
|
response['error'] = ['foo', 'bar', 'baz']
|
||||||
|
messages = pymisp.flatten_error_messages(response)
|
||||||
|
self.assertEqual(["foo", "bar", "baz"], messages)
|
||||||
|
|
||||||
|
def test_flatten_error_messages_plural(self, m):
|
||||||
|
self.initURI(m)
|
||||||
|
pymisp = PyMISP(self.domain, self.key)
|
||||||
|
error = pymisp.get(1)
|
||||||
|
response = self.auth_error_msg
|
||||||
|
response['errors'] = {'foo': 42, 'bar': False, 'baz': ['oo', 'ka']}
|
||||||
|
messages = pymisp.flatten_error_messages(response)
|
||||||
|
self.assertEqual(['42 (foo)', 'False (bar)', 'oo', 'ka'], messages)
|
||||||
|
|
||||||
|
def test_flatten_error_messages_nested(self, m):
|
||||||
|
self.initURI(m)
|
||||||
|
pymisp = PyMISP(self.domain, self.key)
|
||||||
|
error = pymisp.get(1)
|
||||||
|
response = self.auth_error_msg
|
||||||
|
response['errors'] = {
|
||||||
|
'fo': {'o': 42}, 'ba': {'r': True}, 'b': {'a': ['z']}, 'd': {'e': {'e': ['p']}}}
|
||||||
|
messages = pymisp.flatten_error_messages(response)
|
||||||
|
self.assertEqual(['Error in o: 42', 'Error in r: True', 'Error in a: z', "Error in e: {'e': ['p']}"], messages)
|
||||||
|
|
||||||
|
def test_test_connection(self, m):
|
||||||
|
self.initURI(m)
|
||||||
|
pymisp = PyMISP(self.domain, self.key)
|
||||||
|
self.assertTrue(pymisp.test_connection())
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
Loading…
Reference in New Issue