2014-04-24 14:01:53 +02:00
|
|
|
import pytest
|
2023-12-28 21:02:41 +01:00
|
|
|
from datetime import datetime, timezone
|
2014-04-24 14:01:53 +02:00
|
|
|
|
|
|
|
|
from pyhamtools.lookuplib import LookupLib
|
|
|
|
|
|
2014-04-25 23:46:44 +02:00
|
|
|
from pyhamtools.exceptions import APIKeyMissingError
|
2014-04-24 14:01:53 +02:00
|
|
|
|
|
|
|
|
#Fixtures
|
|
|
|
|
#===========================================================
|
|
|
|
|
|
2018-01-27 19:52:27 +01:00
|
|
|
response_Exception_DH1TW = {
|
|
|
|
|
'adif': 230,
|
|
|
|
|
'country': u'FEDERAL REPUBLIC OF GERMANY',
|
|
|
|
|
'continent': u'EU',
|
|
|
|
|
'latitude': 51.0,
|
|
|
|
|
'longitude': -10.0,
|
2014-04-24 14:01:53 +02:00
|
|
|
'cqz': 14
|
|
|
|
|
}
|
2018-01-27 19:52:27 +01:00
|
|
|
|
|
|
|
|
response_Exception_VU9KV = {
|
|
|
|
|
'adif': 324,
|
|
|
|
|
'country': u'INDIA',
|
|
|
|
|
'continent': u'AS',
|
|
|
|
|
'latitude': 22.0,
|
|
|
|
|
'longitude': -80.0,
|
2014-04-24 14:01:53 +02:00
|
|
|
'cqz': 22
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2018-01-27 19:52:27 +01:00
|
|
|
response_Exception_VU9KV_with_Date = {
|
|
|
|
|
'adif': 11,
|
|
|
|
|
'country': u'ANDAMAN & NICOBAR ISLANDS',
|
|
|
|
|
'continent': u'AS',
|
|
|
|
|
'latitude': 11.70,
|
|
|
|
|
'longitude': -92.80,
|
2014-04-24 14:01:53 +02:00
|
|
|
'cqz': 26
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2018-01-27 19:52:27 +01:00
|
|
|
response_Exception_DH1TW_MM = {
|
|
|
|
|
'adif': 999,
|
|
|
|
|
'country': u'MARITIME MOBILE',
|
|
|
|
|
'continent': u'',
|
|
|
|
|
'latitude': 0.0,
|
|
|
|
|
'longitude': 0.0,
|
2014-04-24 14:01:53 +02:00
|
|
|
'cqz': 0
|
|
|
|
|
}
|
2018-01-27 19:52:27 +01:00
|
|
|
|
|
|
|
|
response_Exception_DH1TW_AM = {
|
|
|
|
|
'adif': 998,
|
|
|
|
|
'country': u'AIRCRAFT MOBILE',
|
|
|
|
|
'continent': u'',
|
|
|
|
|
'longitude': 0.0,
|
|
|
|
|
'latitude': 0.0,
|
2014-04-24 14:01:53 +02:00
|
|
|
'cqz': 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#TESTS
|
|
|
|
|
#===========================================================
|
|
|
|
|
|
|
|
|
|
class TestClublogApi_Constructor:
|
|
|
|
|
|
|
|
|
|
def test_with_invalid_api_key(self):
|
|
|
|
|
with pytest.raises(APIKeyMissingError):
|
|
|
|
|
lib = LookupLib(lookuptype="clublogapi", apikey="foo")
|
|
|
|
|
lib.lookup_callsign("DH1TW")
|
|
|
|
|
|
|
|
|
|
def test_with_no_api_key(self):
|
|
|
|
|
with pytest.raises(APIKeyMissingError):
|
|
|
|
|
lib = LookupLib(lookuptype="clublogapi")
|
|
|
|
|
lib.lookup_callsign("DH1TW")
|
2018-01-27 19:52:27 +01:00
|
|
|
|
2014-04-24 14:01:53 +02:00
|
|
|
class TestclublogApi_Getters:
|
2018-01-27 19:52:27 +01:00
|
|
|
|
2014-04-24 14:01:53 +02:00
|
|
|
#getEntity(adif)
|
|
|
|
|
#===============================
|
|
|
|
|
def test_lookup_callsign(self, fixClublogApi):
|
|
|
|
|
assert fixClublogApi.lookup_entity(230) is None
|
2018-01-27 19:52:27 +01:00
|
|
|
|
|
|
|
|
|
2014-04-24 14:01:53 +02:00
|
|
|
#lookup_callsign(callsign, [date])
|
|
|
|
|
#===============================
|
2018-01-27 19:52:27 +01:00
|
|
|
|
2014-04-24 14:01:53 +02:00
|
|
|
def test_lookup_callsign(self, fixClublogApi):
|
|
|
|
|
assert fixClublogApi.lookup_callsign("DH1TW") == response_Exception_DH1TW
|
|
|
|
|
assert fixClublogApi.lookup_callsign("VU9KV") == response_Exception_VU9KV
|
2023-12-28 21:02:41 +01:00
|
|
|
d = datetime.now(timezone.utc).replace(year=1971, month=4, day=14)
|
2014-04-24 14:01:53 +02:00
|
|
|
assert fixClublogApi.lookup_callsign("VU9KV", d) == response_Exception_VU9KV_with_Date
|
|
|
|
|
assert fixClublogApi.lookup_callsign("DH1TW/MM") == response_Exception_DH1TW_MM
|
|
|
|
|
assert fixClublogApi.lookup_callsign("DH1TW/AM") == response_Exception_DH1TW_AM
|
|
|
|
|
|
2014-04-25 23:46:44 +02:00
|
|
|
with pytest.raises(KeyError):
|
2014-04-24 14:01:53 +02:00
|
|
|
fixClublogApi.lookup_callsign("QRM")
|
2014-04-25 23:46:44 +02:00
|
|
|
with pytest.raises(KeyError):
|
2014-04-24 14:01:53 +02:00
|
|
|
fixClublogApi.lookup_callsign("")
|
2018-01-27 19:52:27 +01:00
|
|
|
|
2014-04-24 14:01:53 +02:00
|
|
|
#lookup_prefix(prefix, [date])
|
|
|
|
|
#===============================
|
|
|
|
|
def test_lookup_callsign(self, fixClublogApi):
|
2014-04-25 23:46:44 +02:00
|
|
|
with pytest.raises(KeyError):
|
2014-04-24 14:01:53 +02:00
|
|
|
fixClublogApi.lookup_prefix("DH")
|
2018-01-27 19:52:27 +01:00
|
|
|
|
2014-04-24 14:01:53 +02:00
|
|
|
|
|
|
|
|
#is_invalid_operation(callsign, [date])
|
|
|
|
|
#===============================
|
|
|
|
|
def test_is_invalid_operation(self, fixClublogApi):
|
2014-04-25 23:46:44 +02:00
|
|
|
with pytest.raises(KeyError):
|
2014-04-24 14:01:53 +02:00
|
|
|
fixClublogApi.is_invalid_operation("5W1CFN")
|
2018-01-27 19:52:27 +01:00
|
|
|
|
2014-04-24 14:01:53 +02:00
|
|
|
|
|
|
|
|
#lookup_zone_exception(callsign, [date])
|
2018-01-27 19:52:27 +01:00
|
|
|
#====================================
|
2014-04-24 14:01:53 +02:00
|
|
|
def test_lookup_zone_exception(self, fixClublogApi):
|
2014-04-25 23:46:44 +02:00
|
|
|
with pytest.raises(KeyError):
|
2014-04-24 14:01:53 +02:00
|
|
|
fixClublogApi.lookup_zone_exception("dp0gvn")
|