diff --git a/pymispwarninglists/api.py b/pymispwarninglists/api.py index 0c21d77..c80ea3c 100644 --- a/pymispwarninglists/api.py +++ b/pymispwarninglists/api.py @@ -33,6 +33,7 @@ class WarningList(): def __init__(self, warninglist: Dict[str, Any], slow_search: bool=False): self.warninglist = warninglist self.list = self.warninglist['list'] + self.set = set(self.list) self.description = self.warninglist['description'] self.version = int(self.warninglist['version']) self.name = self.warninglist['name'] @@ -71,7 +72,7 @@ class WarningList(): return json.dumps(self, default=json_default) def _fast_search(self, value) -> bool: - return value in self.list + return value in self.set def _network_index(self) -> List: to_return = [] diff --git a/tests/tests.py b/tests/tests.py index 16bfc95..90b77ad 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -39,7 +39,7 @@ class TestPyMISPWarningLists(unittest.TestCase): def test_slow_search(self): self.warninglists = WarningLists(True) results = self.warninglists.search('8.8.8.8') - self.assertEqual(results[0].name, 'List of known IPv4 public DNS resolvers') + self.assertIn('List of known IPv4 public DNS resolvers', [r.name for r in results]) results = self.warninglists.search('100.64.1.56') self.assertEqual(results[0].name, 'List of RFC 6598 CIDR blocks') results = self.warninglists.search('2001:DB8::34:1')