File: test_lookuplib_clublogapi.py

package info (click to toggle)
pyhamtools 0.12.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,012 kB
  • sloc: xml: 307,301; python: 3,493; makefile: 152
file content (115 lines) | stat: -rw-r--r-- 3,445 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import pytest
from datetime import datetime, timezone

from pyhamtools.lookuplib import LookupLib

from pyhamtools.exceptions import APIKeyMissingError

#Fixtures
#===========================================================

response_Exception_DH1TW = {
          'adif': 230,
          'country': u'FEDERAL REPUBLIC OF GERMANY',
          'continent': u'EU',
          'latitude': 51.0,
          'longitude': -10.0,
          'cqz': 14
        }

response_Exception_VU9KV = {
          'adif': 324,
          'country': u'INDIA',
          'continent': u'AS',
          'latitude': 22.0,
          'longitude': -80.0,
          'cqz': 22
        }


response_Exception_VU9KV_with_Date = {
          'adif': 11,
          'country': u'ANDAMAN & NICOBAR ISLANDS',
          'continent': u'AS',
          'latitude': 11.70,
          'longitude': -92.80,
          'cqz': 26
        }


response_Exception_DH1TW_MM = {
        'adif': 999,
        'country': u'MARITIME MOBILE',
        'continent': u'',
        'latitude': 0.0,
        'longitude': 0.0,
        'cqz': 0
    }

response_Exception_DH1TW_AM = {
        'adif': 998,
        'country': u'AIRCRAFT MOBILE',
        'continent': u'',
        'longitude': 0.0,
        'latitude': 0.0,
        '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")

class TestclublogApi_Getters:

    #getEntity(adif)
    #===============================
    def test_lookup_callsign(self, fixClublogApi):
        assert fixClublogApi.lookup_entity(230) is None


    #lookup_callsign(callsign, [date])
    #===============================

    def test_lookup_callsign(self, fixClublogApi):
        assert fixClublogApi.lookup_callsign("DH1TW") == response_Exception_DH1TW
        assert fixClublogApi.lookup_callsign("VU9KV") == response_Exception_VU9KV
        d = datetime.now(timezone.utc).replace(year=1971, month=4, day=14)
        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

        with pytest.raises(KeyError):
            fixClublogApi.lookup_callsign("QRM")
        with pytest.raises(KeyError):
            fixClublogApi.lookup_callsign("")

    #lookup_prefix(prefix, [date])
    #===============================
    def test_lookup_callsign(self, fixClublogApi):
        with pytest.raises(KeyError):
            fixClublogApi.lookup_prefix("DH")


    #is_invalid_operation(callsign, [date])
    #===============================
    def test_is_invalid_operation(self, fixClublogApi):
        with pytest.raises(KeyError):
            fixClublogApi.is_invalid_operation("5W1CFN")


    #lookup_zone_exception(callsign, [date])
    #====================================
    def test_lookup_zone_exception(self, fixClublogApi):
        with pytest.raises(KeyError):
            fixClublogApi.lookup_zone_exception("dp0gvn")