diff --git a/tests/test_expansions.py b/tests/test_expansions.py index 4f9c2ca..f431b89 100644 --- a/tests/test_expansions.py +++ b/tests/test_expansions.py @@ -21,6 +21,14 @@ class TestExpansions(unittest.TestCase): def misp_modules_post(self, query): return requests.post(urljoin(self.url, "query"), json=query) + @staticmethod + def get_attribute(reponse): + data = response.json() + if not isinstance(data, dict): + print(json.dumps(data, indent=2)) + return data + return data['results']['Attribute'][0]['type'] + @staticmethod def get_data(response): data = response.json() @@ -37,6 +45,14 @@ class TestExpansions(unittest.TestCase): return data return data['error'] + @staticmethod + def get_object(response): + data = response.json() + if not isinstance(data, dict): + print(json.dumps(data, indent=2)) + return data + return data['results']['Object'][0]['name'] + @staticmethod def get_values(response): data = response.json() @@ -75,6 +91,18 @@ class TestExpansions(unittest.TestCase): response = self.misp_modules_post(query) self.assertTrue(self.get_values(response).startswith("Stack-based buffer overflow in Microsoft Office XP SP3, Office 2003 SP3")) + def test_cve_advanced(self): + query = {"module": "cve_advanced", + "attribute": {"type": "vulnerability", + "value": "CVE-2010-3333", + "uuid": "ea89a33b-4ab7-4515-9f02-922a0bee333d"}, + "config": {}} + response = self.misp_modules_post(query) + try: + self.assertEqual(self.get_object(response), 'vulnerability') + except Exception: + print(self.get_errors(response)) + def test_dbl_spamhaus(self): query = {"module": "dbl_spamhaus", "domain": "totalmateria.net"} response = self.misp_modules_post(query)