mirror of
https://github.com/dh1tw/pyhamtools.git
synced 2026-04-05 22:45:42 +00:00
added Callinfo; Lookup Info doesn't return now START, END, WHITELIST, WHITELIST_START and WHITELIST_END anymore
This commit is contained in:
parent
2017b1bf6d
commit
ecf1b036e8
6 changed files with 455 additions and 56 deletions
|
|
@ -11,7 +11,8 @@ from apikey import APIKEY
|
|||
# os.chdir(newpath)
|
||||
#
|
||||
|
||||
from pyhamtools.lookuplib import LookupLib
|
||||
from pyhamtools import LookupLib
|
||||
from pyhamtools import Callinfo
|
||||
|
||||
@pytest.fixture(scope="session", params=["a", "", 12.5, -5, {"foo" : "bar"}, [5, "foo"]])
|
||||
def fixNonUnsignedInteger(request):
|
||||
|
|
@ -74,7 +75,8 @@ def fixCountryFile(request):
|
|||
Lib = LookupLib("countryfile")
|
||||
return(Lib)
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def fixRedis(request):
|
||||
Lib = LookupLib("redis")
|
||||
return(Lib)
|
||||
@pytest.fixture(scope="module", params=["clublogapi", "clublogxml", "countryfile"])
|
||||
def fix_callinfo(request, fixApiKey):
|
||||
lib = LookupLib(request.param, fixApiKey)
|
||||
callinfo = Callinfo(lib)
|
||||
return(callinfo)
|
||||
206
test/test_callinfo.py
Normal file
206
test/test_callinfo.py
Normal file
|
|
@ -0,0 +1,206 @@
|
|||
from datetime import datetime
|
||||
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
|
||||
from pyhamtools.consts import LookupConventions as const
|
||||
|
||||
UTC = pytz.UTC
|
||||
|
||||
|
||||
response_prefix_DH_clublog = {
|
||||
'country': 'FEDERAL REPUBLIC OF GERMANY',
|
||||
'adif': 230,
|
||||
'continent': 'EU',
|
||||
'latitude': 51.0,
|
||||
'longitude': -10.0,
|
||||
'cqz': 14,
|
||||
}
|
||||
|
||||
response_prefix_DH_countryfile = {
|
||||
'country': 'Fed. Rep. of Germany',
|
||||
'adif': 230,
|
||||
'continent': 'EU',
|
||||
'latitude': 51.0,
|
||||
'longitude': -10.0,
|
||||
'cqz': 14,
|
||||
'ituz': 28
|
||||
}
|
||||
|
||||
response_prefix_C6A_clublog = {
|
||||
'country': 'BAHAMAS',
|
||||
'longitude': 76.0,
|
||||
'cqz': 8,
|
||||
'adif': 60,
|
||||
'latitude': 24.25,
|
||||
'continent': 'NA'
|
||||
}
|
||||
|
||||
response_prefix_C6A_countryfile = {
|
||||
'country': 'Bahamas',
|
||||
'longitude': 76.0,
|
||||
'cqz': 8,
|
||||
'adif': 60,
|
||||
'latitude': 24.25,
|
||||
'continent': 'NA',
|
||||
'ituz': 11
|
||||
}
|
||||
|
||||
|
||||
|
||||
response_Exception_VK9XO_with_start_date = {
|
||||
'adif': 35,
|
||||
'country': 'CHRISTMAS ISLAND',
|
||||
'continent': 'OC',
|
||||
'latitude': -10.50,
|
||||
'longitude': -105.70,
|
||||
'cqz': 29
|
||||
}
|
||||
|
||||
response_zone_exception_dp0gvn = {
|
||||
'country': 'ANTARCTICA',
|
||||
'adif': 13,
|
||||
'cqz': 38,
|
||||
'latitude': -65.0,
|
||||
'longitude': 64.0,
|
||||
'continent': 'AN'
|
||||
}
|
||||
|
||||
response_lat_long_dh1tw = {
|
||||
const.LATITUDE: 51.0,
|
||||
const.LONGITUDE: -10.0
|
||||
}
|
||||
|
||||
class Test_callinfo_methods:
|
||||
|
||||
def test_callinfo_iterate_prefix(self, fix_callinfo):
|
||||
if fix_callinfo._lookuplib._lookuptype == "clublogxml":
|
||||
assert fix_callinfo._iterate_prefix("DH1TW") == response_prefix_DH_clublog
|
||||
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo._iterate_prefix("QRM")
|
||||
|
||||
if fix_callinfo._lookuplib._lookuptype == "countryfile":
|
||||
assert fix_callinfo._iterate_prefix("DH1TW") == response_prefix_DH_countryfile
|
||||
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo._iterate_prefix("QRM")
|
||||
|
||||
def test_get_homecall(self, fix_callinfo):
|
||||
assert fix_callinfo.get_homecall("HB9/DH1TW") == "DH1TW"
|
||||
assert fix_callinfo.get_homecall("SM3/DH1TW/P") == "DH1TW"
|
||||
assert fix_callinfo.get_homecall("QRM") is None
|
||||
|
||||
def test_dismantle_callsign(self, fix_callinfo):
|
||||
if fix_callinfo._lookuplib._lookuptype == "clublogxml" or fix_callinfo._lookuplib._lookuptype == "countryfile":
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo._dismantle_callsign("DH1TW/MM")
|
||||
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo._dismantle_callsign("DH1TW/AM")
|
||||
|
||||
if fix_callinfo._lookuplib._lookuptype == "clublogxml":
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/QRP") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/QRPP") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/BCN") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/LH") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("HC2AO/DL") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/P") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/5") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/M") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/B") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/B") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("DL/HC2AO") == response_prefix_DH_clublog
|
||||
assert fix_callinfo._dismantle_callsign("9H5A/C6A") == response_prefix_C6A_clublog
|
||||
# assert fix_callinfo._dismantle_callsign("C6A/9H5A") == response_Prefix_C6A
|
||||
|
||||
if fix_callinfo._lookuplib._lookuptype == "countryfile":
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/QRP") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/QRPP") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/BCN") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/LH") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("HC2AO/DL") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/P") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/5") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/M") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/B") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("DH1TW/B") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("DL/HC2AO") == response_prefix_DH_countryfile
|
||||
assert fix_callinfo._dismantle_callsign("9H5A/C6A") == response_prefix_C6A_countryfile
|
||||
# assert fix_callinfo._dismantle_callsign("C6A/9H5A") == response_Prefix_C6A
|
||||
|
||||
|
||||
def test_lookup_callsign(selfself, fix_callinfo):
|
||||
|
||||
if fix_callinfo._lookuplib._lookuptype == "clublogxml" or fix_callinfo._lookuplib._lookuptype == "clublogapi":
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo._lookup_callsign("5W1CFN")
|
||||
assert fix_callinfo._lookup_callsign("VK9XO") == response_Exception_VK9XO_with_start_date
|
||||
assert fix_callinfo._lookup_callsign("DH1TW") == response_prefix_DH_clublog
|
||||
|
||||
elif fix_callinfo._lookuplib._lookuptype == "countryfile":
|
||||
assert fix_callinfo._lookup_callsign("DH1TW") == response_prefix_DH_countryfile
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo._lookup_callsign("QRM")
|
||||
|
||||
def test_get_all(self, fix_callinfo):
|
||||
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo.get_all("QRM")
|
||||
|
||||
if fix_callinfo._lookuplib._lookuptype == "clublogxml" or fix_callinfo._lookuplib._lookuptype == "clublogapi":
|
||||
assert fix_callinfo.get_all("DH1TW") == response_prefix_DH_clublog
|
||||
assert fix_callinfo.get_all("dp0gvn") == response_zone_exception_dp0gvn
|
||||
|
||||
elif fix_callinfo._lookuplib._lookuptype == "countryfile":
|
||||
assert fix_callinfo.get_all("DH1TW") == response_prefix_DH_countryfile
|
||||
|
||||
def test_is_valid_callsign(self, fix_callinfo):
|
||||
assert fix_callinfo.is_valid_callsign("DH1TW")
|
||||
assert not fix_callinfo.is_valid_callsign("QRM")
|
||||
|
||||
def test_get_lat_long(self, fix_callinfo):
|
||||
assert fix_callinfo.get_lat_long("DH1TW") == response_lat_long_dh1tw
|
||||
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo.get_lat_long("QRM")
|
||||
|
||||
def test_get_cqz(self, fix_callinfo):
|
||||
assert fix_callinfo.get_cqz("DH1TW") == 14
|
||||
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo.get_cqz("QRM")
|
||||
|
||||
def test_get_ituz(self, fix_callinfo):
|
||||
if fix_callinfo._lookuplib._lookuptype == "clublogxml" or fix_callinfo._lookuplib._lookuptype == "clublogapi":
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo.get_ituz("DH1TW")
|
||||
|
||||
elif fix_callinfo._lookuplib._lookuptype == "countryfile":
|
||||
assert fix_callinfo.get_ituz("DH1TW") == 28
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo.get_ituz("QRM")
|
||||
|
||||
def test_get_country(self, fix_callinfo):
|
||||
if fix_callinfo._lookuplib._lookuptype == "clublogxml" or fix_callinfo._lookuplib._lookuptype == "clublogapi":
|
||||
assert fix_callinfo.get_country_name("DH1TW") == 'FEDERAL REPUBLIC OF GERMANY'
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo.get_country_name("QRM")
|
||||
|
||||
elif fix_callinfo._lookuplib._lookuptype == "countryfile":
|
||||
assert fix_callinfo.get_country_name("DH1TW") == 'Fed. Rep. of Germany'
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo.get_country_name("QRM")
|
||||
|
||||
def test_get_adif_id(self, fix_callinfo):
|
||||
assert fix_callinfo.get_adif_id("DH1TW") == 230
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo.get_adif_id("QRM")
|
||||
|
||||
def test_get_continent(self, fix_callinfo):
|
||||
assert fix_callinfo.get_continent("DH1TW") == 'EU'
|
||||
with pytest.raises(KeyError):
|
||||
fix_callinfo.get_adif_id("QRM")
|
||||
|
|
@ -22,7 +22,6 @@ response_Entity_230 = {
|
|||
'cqz': 14,
|
||||
'prefix' : 'DL',
|
||||
'deleted' : False,
|
||||
'start' : datetime(year=1973, month=9, day=17).replace(tzinfo=UTC)
|
||||
}
|
||||
|
||||
response_Exception_KC6MM_1990 = {
|
||||
|
|
@ -32,8 +31,6 @@ response_Exception_KC6MM_1990 = {
|
|||
'latitude': 9.50,
|
||||
'longitude': -138.20,
|
||||
'cqz': 27,
|
||||
'start' : datetime(year=1990, month=10, day=11).replace(tzinfo=UTC),
|
||||
'end' : datetime(year=1990, month=10, day=16, hour=23, minute=59, second=59).replace(tzinfo=UTC)
|
||||
}
|
||||
|
||||
response_Exception_KC6MM_1992 = {
|
||||
|
|
@ -43,8 +40,6 @@ response_Exception_KC6MM_1992 = {
|
|||
'latitude': 9.50,
|
||||
'longitude': -138.20,
|
||||
'cqz': 27,
|
||||
'start' : datetime(year=1992, month=3, day=7).replace(tzinfo=UTC),
|
||||
'end' : datetime(year=1992, month=3, day=9, hour=23, minute=59, second=59).replace(tzinfo=UTC)
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -55,7 +50,6 @@ response_Exception_VK9XX_with_end_date = {
|
|||
'latitude': -10.50,
|
||||
'longitude': -105.70,
|
||||
'cqz': 29,
|
||||
'end' : datetime(year=1975, month=9, day=15, hour=23, minute=59, second=59).replace(tzinfo=UTC)
|
||||
}
|
||||
|
||||
response_Exception_VK9XO_with_start_date = {
|
||||
|
|
@ -65,7 +59,6 @@ response_Exception_VK9XO_with_start_date = {
|
|||
'latitude': -10.50,
|
||||
'longitude': -105.70,
|
||||
'cqz': 29,
|
||||
'start' : datetime(year=1962, month=7, day=6).replace(tzinfo=UTC)
|
||||
}
|
||||
|
||||
response_Exception_AX9NYG = {
|
||||
|
|
@ -93,7 +86,6 @@ response_Prefix_VK9_until_1975 = {
|
|||
'latitude': -9.40,
|
||||
'longitude': -147.10,
|
||||
'cqz': 28,
|
||||
'end' : datetime(year=1975, month=9, day=15, hour=23, minute=59, second=59).replace(tzinfo=UTC)
|
||||
}
|
||||
|
||||
response_Prefix_VK9_starting_1976 = {
|
||||
|
|
@ -103,7 +95,6 @@ response_Prefix_VK9_starting_1976 = {
|
|||
'latitude': -29.00,
|
||||
'longitude': -168.00,
|
||||
'cqz': 32,
|
||||
'start' : datetime(year=1976, month=9, day=16).replace(tzinfo=UTC)
|
||||
}
|
||||
|
||||
response_Prefix_ZD5_1964_to_1971 = {
|
||||
|
|
@ -113,8 +104,6 @@ response_Prefix_ZD5_1964_to_1971 = {
|
|||
'latitude': -26.30,
|
||||
'longitude': -31.10,
|
||||
'cqz': 38,
|
||||
'start' : datetime(year=1964, month=12, day=1).replace(tzinfo=UTC),
|
||||
'end' : datetime(year=1971, month=7, day=31, hour=23, minute=59, second=59).replace(tzinfo=UTC)
|
||||
}
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
|
|
@ -270,9 +259,8 @@ class TestclublogXML_Getters:
|
|||
fixClublogXML.is_invalid_operation("vk0mc", timestamp_before)
|
||||
|
||||
#Invalid Operation with start date
|
||||
timestamp_before = datetime(year=2012, month=1, day=31).replace(tzinfo=UTC)
|
||||
assert fixClublogXML.is_invalid_operation("5W1CFN")
|
||||
|
||||
timestamp_before = datetime(year=2012, month=1, day=31).replace(tzinfo=UTC)
|
||||
with pytest.raises(KeyError):
|
||||
fixClublogXML.is_invalid_operation("5W1CFN", timestamp_before)
|
||||
|
||||
|
|
@ -309,9 +297,8 @@ class TestclublogXML_Getters:
|
|||
with pytest.raises(KeyError):
|
||||
fixClublogXML.lookup_zone_exception("dl1kvc/p", timestamp_after)
|
||||
|
||||
#zone exception with start date
|
||||
#zone exception with start date
|
||||
assert fixClublogXML.lookup_zone_exception("dh1hb/p") == 38
|
||||
timestamp_before = datetime(year=2013, month=12, day=26).replace(tzinfo=UTC)
|
||||
assert fixClublogXML.lookup_zone_exception("dh1hb/p")
|
||||
|
||||
with pytest.raises(KeyError):
|
||||
fixClublogXML.lookup_zone_exception("dh1hb/p", timestamp_before)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue