Skip to content

Commit 5b26dfd

Browse files
committed
Enhance Core bundle tests
1 parent ada9e28 commit 5b26dfd

File tree

3 files changed

+64
-11
lines changed

3 files changed

+64
-11
lines changed

ipinfo/handler_core_async.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import asyncio
66
import json
7-
import time
87
from ipaddress import IPv4Address, IPv6Address
98

109
import aiohttp

tests/handler_core_async_test.py

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,25 +45,52 @@ async def test_get_details():
4545
# Should return Details object
4646
assert isinstance(details, Details)
4747
assert details.ip == "8.8.8.8"
48+
assert hasattr(details, "hostname")
4849

49-
# Check nested geo object exists
50+
# Check nested geo object with all fields
5051
assert hasattr(details, "geo")
5152
assert isinstance(details.geo, dict)
5253
assert "city" in details.geo
54+
assert "region" in details.geo
55+
assert "region_code" in details.geo
56+
assert "country" in details.geo
5357
assert "country_code" in details.geo
58+
assert "continent" in details.geo
59+
assert "continent_code" in details.geo
5460
assert "latitude" in details.geo
5561
assert "longitude" in details.geo
62+
assert "timezone" in details.geo
63+
assert "postal_code" in details.geo
64+
assert "dma_code" in details.geo
65+
assert "geoname_id" in details.geo
66+
assert "radius" in details.geo
5667

57-
# Check nested as object exists (use .all to access since 'as' is a keyword)
68+
# Check nested as object with all fields
5869
assert "as" in details.all
5970
as_obj = details.all["as"]
6071
assert isinstance(as_obj, dict)
6172
assert "asn" in as_obj
6273
assert "name" in as_obj
63-
64-
# Check network flags
65-
assert hasattr(details, "is_hosting")
74+
assert "domain" in as_obj
75+
assert "type" in as_obj
76+
assert "last_changed" in as_obj
77+
78+
# Check mobile and anonymous objects
79+
assert hasattr(details, "mobile")
80+
assert isinstance(details.mobile, dict)
81+
assert hasattr(details, "anonymous")
82+
assert isinstance(details.anonymous, dict)
83+
assert "is_proxy" in details.anonymous
84+
assert "is_relay" in details.anonymous
85+
assert "is_tor" in details.anonymous
86+
assert "is_vpn" in details.anonymous
87+
88+
# Check all network/type flags
89+
assert hasattr(details, "is_anonymous")
6690
assert hasattr(details, "is_anycast")
91+
assert hasattr(details, "is_hosting")
92+
assert hasattr(details, "is_mobile")
93+
assert hasattr(details, "is_satellite")
6794

6895
# Check geo formatting was applied
6996
assert "country_name" in details.geo

tests/handler_core_test.py

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,25 +40,52 @@ def test_get_details():
4040
# Should return Details object
4141
assert isinstance(details, Details)
4242
assert details.ip == "8.8.8.8"
43+
assert hasattr(details, "hostname")
4344

44-
# Check nested geo object exists
45+
# Check nested geo object with all fields
4546
assert hasattr(details, "geo")
4647
assert isinstance(details.geo, dict)
4748
assert "city" in details.geo
49+
assert "region" in details.geo
50+
assert "region_code" in details.geo
51+
assert "country" in details.geo
4852
assert "country_code" in details.geo
53+
assert "continent" in details.geo
54+
assert "continent_code" in details.geo
4955
assert "latitude" in details.geo
5056
assert "longitude" in details.geo
57+
assert "timezone" in details.geo
58+
assert "postal_code" in details.geo
59+
assert "dma_code" in details.geo
60+
assert "geoname_id" in details.geo
61+
assert "radius" in details.geo
5162

52-
# Check nested as object exists (use .all to access since 'as' is a keyword)
63+
# Check nested as object with all fields
5364
assert "as" in details.all
5465
as_obj = details.all["as"]
5566
assert isinstance(as_obj, dict)
5667
assert "asn" in as_obj
5768
assert "name" in as_obj
58-
59-
# Check network flags
60-
assert hasattr(details, "is_hosting")
69+
assert "domain" in as_obj
70+
assert "type" in as_obj
71+
assert "last_changed" in as_obj
72+
73+
# Check mobile and anonymous objects
74+
assert hasattr(details, "mobile")
75+
assert isinstance(details.mobile, dict)
76+
assert hasattr(details, "anonymous")
77+
assert isinstance(details.anonymous, dict)
78+
assert "is_proxy" in details.anonymous
79+
assert "is_relay" in details.anonymous
80+
assert "is_tor" in details.anonymous
81+
assert "is_vpn" in details.anonymous
82+
83+
# Check all network/type flags
84+
assert hasattr(details, "is_anonymous")
6185
assert hasattr(details, "is_anycast")
86+
assert hasattr(details, "is_hosting")
87+
assert hasattr(details, "is_mobile")
88+
assert hasattr(details, "is_satellite")
6289

6390
# Check geo formatting was applied
6491
assert "country_name" in details.geo

0 commit comments

Comments
 (0)