def test_json_feed_with_config(): with open('test_data/amazon_ip_ranges.json') as ip_ranges_json: ip_ranges = json.load(ip_ranges_json) feed_name_to_config = { 'AMAZON': { 'url': 'https://ip-ranges.amazonaws.com/ip-ranges.json', 'extractor': "prefixes[?service=='AMAZON']", 'indicator': 'ip_prefix', 'indicator_type': FeedIndicatorType.CIDR, 'fields': ['region', 'service'] } } with requests_mock.Mocker() as m: m.get('https://ip-ranges.amazonaws.com/ip-ranges.json', json=ip_ranges) client = Client(url='https://ip-ranges.amazonaws.com/ip-ranges.json', credentials={ 'username': '******', 'password': '******' }, feed_name_to_config=feed_name_to_config, insecure=True) indicators, _ = fetch_indicators_command(client=client, indicator_type='CIDR', feedTags=['test'], auto_detect=False) assert len( jmespath.search(expression="[].rawJSON.service", data=indicators)) == 1117
def test_json_feed_no_config(): with open('test_data/amazon_ip_ranges.json') as ip_ranges_json: ip_ranges = json.load(ip_ranges_json) with requests_mock.Mocker() as m: m.get('https://ip-ranges.amazonaws.com/ip-ranges.json', json=ip_ranges) client = Client(url='https://ip-ranges.amazonaws.com/ip-ranges.json', credentials={ 'username': '******', 'password': '******' }, extractor="prefixes[?service=='AMAZON']", indicator='ip_prefix', fields=['region', 'service'], insecure=True) indicators = fetch_indicators_command(client=client, indicator_type='CIDR') assert len( jmespath.search(expression="[].rawJSON.service", data=indicators)) == 1117