theHarvester/tests/discovery/test_threatminer.py
Matt 90082dbaa0
Added 4 new sources, Removed 2 Sources, Added custom DNS resolver, backported to python3.9, and other misc changes (#1381)
* Added call to api endpoint to explicitly gather subdomains from zoomeye, updated user agents, replaced orjson with ujson, and fixed substring not found error.

* Updated orjson to ujson.

* Fixed semantic error in html check in google workaround.

* Fixed flake8 errors.

* Fixed VT to use API.

* Fixed virustotal module.

* Fixed possible edge case that could possibly cause an infinite loop.

* Removed broken modules.

* Added 4 new sources: brave, criminalip, hunterhow, and subdomainfinderc99, added dnsresolve, and other misc changes.

* Added TODO comment.

* Fixed bin\theHarvester to allow python3.9

* Pep8 newline at end of file.

* Fixed error when passing in comma seperated resolvers and allow for user to pass in --dns-resolve flag with no arguments to use default resolvers that user has.
2023-04-10 18:51:04 +01:00

32 lines
986 B
Python

#!/usr/bin/env python3
# coding=utf-8
import requests
from theHarvester.lib.core import *
from theHarvester.discovery import threatminer
import os
import pytest
pytestmark = pytest.mark.asyncio
github_ci = os.getenv('GITHUB_ACTIONS') # Github set this to be the following: true instead of True
class TestThreatminer(object):
@staticmethod
def domain() -> str:
return 'target.com'
async def test_api(self):
base_url = f'https://api.threatminer.org/v2/domain.php?q={TestThreatminer.domain()}&rt=5'
headers = {'User-Agent': Core.get_user_agent()}
request = requests.get(base_url, headers=headers)
assert request.status_code == 200
async def test_search(self):
search = threatminer.SearchThreatminer(TestThreatminer.domain())
await search.process()
assert isinstance(await search.get_hostnames(), set)
assert isinstance(await search.get_ips(), set)
if __name__ == '__main__':
pytest.main()