Add tests for broken IP/prefix API responses
This commit is contained in:
parent
d451d51712
commit
6483e0d1a9
@ -2,3 +2,4 @@ black
|
||||
coverage
|
||||
pylint
|
||||
pytest
|
||||
requests-mock
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
"""MODULE: Provides test cases for app/ip_info.py."""
|
||||
|
||||
import requests_mock
|
||||
|
||||
from app.ip_info import ( # pragma: no cover
|
||||
get_ip_information,
|
||||
get_autonomous_system_number,
|
||||
@ -16,6 +18,15 @@ def test_get_ip_information() -> None:
|
||||
assert ip_info.get("status") == "success" and ip_info.get("query") == test_query
|
||||
|
||||
|
||||
def test_get_ip_information_broken_api() -> None:
|
||||
"""TEST: ensure that None is returned if the IP API response is broken."""
|
||||
test_query = "1.2.3.4"
|
||||
with requests_mock.Mocker() as mocker:
|
||||
mocker.get(f"http://ip-api.com/json/{test_query}", text="error")
|
||||
resp = get_ip_information(test_query)
|
||||
assert not resp
|
||||
|
||||
|
||||
def test_get_autonomous_system_number() -> None:
|
||||
"""TEST: ensure that AS information is parsed into AS number correctly."""
|
||||
as_info = "AS5089 Virgin Media Limited"
|
||||
@ -28,3 +39,15 @@ def test_get_prefix_information() -> None:
|
||||
autonomous_system = "AS109"
|
||||
prefixes = get_prefix_information(autonomous_system)
|
||||
assert "144.254.0.0/16" in prefixes
|
||||
|
||||
|
||||
def test_get_prefix_information_broken_api() -> None:
|
||||
"""TEST: ensure that None is returned if the prefix API response is broken."""
|
||||
autonomous_system = "AS109"
|
||||
with requests_mock.Mocker() as mocker:
|
||||
mocker.get(
|
||||
f"https://api.hackertarget.com/aslookup/?q={str(autonomous_system)}",
|
||||
text="error",
|
||||
)
|
||||
resp = get_prefix_information(autonomous_system)
|
||||
assert not resp
|
||||
|
Loading…
x
Reference in New Issue
Block a user