added Callinfo; Lookup Info doesn't return now START, END, WHITELIST, WHITELIST_START and WHITELIST_END anymore

This commit is contained in:
dh1tw 2014-04-28 01:59:18 +02:00
parent 2017b1bf6d
commit ecf1b036e8
6 changed files with 455 additions and 56 deletions

View file

@ -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
View 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")

View file

@ -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)