# Path: theHarvester/discovery/otxsearch.py
# class SearchOtx:
#     def __init__(self, word):
#     async def do_search(self):
#     async def get_hostnames(self) -> set:
#     async def get_ips(self) -> set:
#     async def process(self, proxy=False):


from theHarvester.lib.core import *
from theHarvester.discovery import otxsearch
import os
import requests
import pytest
#!/usr/bin/env python3
# coding=utf-8

pytestmark = pytest.mark.asyncio
github_ci = os.getenv('GITHUB_ACTIONS')  # Github set this to be the following: true instead of True


class TestOtx(object):
    @staticmethod
    def domain() -> str:
        return 'metasploit.com'

    async def test_api(self):
        base_url = f'https://otx.alienvault.com/api/v1/indicators/domain/{TestOtx.domain()}/passive_dns'
        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 = otxsearch.SearchOtx(TestOtx.domain())
        await search.process()
        assert isinstance(await search.get_hostnames(), set)
        assert isinstance(await search.get_ips(), set)

    async def test_search_no_results(self):

# Path: theHarvester/discovery/otxsearch.py
# class SearchOtx:
#     def __init__(self, word):
#     async def do_search(self):
#     async def get_hostnames(self) -> set:
#     async def get_ips(self) -> set:
#     async def process(self, proxy=False):


# Path: tests/discovery/test_otx.py
from theHarvester.lib.core import *
from theHarvester.discovery import otxsearch
import os
import requests
import pytest

#!/usr/bin/env python3
# coding=utf-8

pytestmark = pytest.mark.asyncio
github_ci = os.getenv('GITHUB_ACTIONS')  # Github set this to be the following: true instead of True


class TestOtx(object):
    @staticmethod
    def domain() -> str:
        return 'metasploit.com'

    async def test_api(self):
        base_url = f'https://otx.alienvault.com/api/v1/indicators/domain/{TestOtx.domain()}/passive_dns'
        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 = otxsearch.SearchOtx(TestOtx.domain())
        await search.process()
        assert isinstance(await search.get_hostnames(), set)
        assert isinstance(await search.get_ips(), set)

    async def test_search_no_results(self):

        search = otxsearch.SearchOtx('radiant.eu')