diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..a76ccff --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.7.1 diff --git a/checkin.py b/checkin.py index c3e8c54..1de4cc9 100755 --- a/checkin.py +++ b/checkin.py @@ -115,7 +115,7 @@ def schedule_checkin(flight_time, number, first, last, email, mobile): send_notification(data, mobilenum=mobile) -def auto_checkin(reservation_number, first_name, last_name, email, mobile): +def auto_checkin(reservation_number, first_name, last_name, email=None, mobile=None): body = lookup_existing_reservation(reservation_number, first_name, last_name) # Get our local current time diff --git a/checkin_test.py b/checkin_test.py index d53b7ff..f636522 100644 --- a/checkin_test.py +++ b/checkin_test.py @@ -1,17 +1,29 @@ -import pytest import checkin -import requests_mock +import json +import pytest +import requests from datetime import datetime from pytz import timezone -@requests_mock.Mocker() -def test_checkin(m): - m.register_uri('GET', '/api/mobile-misc/v1/mobile-misc/page/view-reservation/XXXX?first-name=John&last-name=Smith', text=open('fixtures/view-reservation.json', 'r').read()) - m.register_uri('GET', '/api/mobile-air-operations/v1/mobile-air-operations/page/check-in/XXXX?first-name=John&last-name=Smith', text=open('fixtures/checkin-get.json', 'r').read()) - m.register_uri('POST', '/api/mobile-air-operations/v1/mobile-air-operations/page/check-in', text=open('fixtures/checkin-post.json', 'r').read()) +def test_checkin(requests_mock): + requests_mock.register_uri('GET', '/api/mobile-misc/v1/mobile-misc/page/view-reservation/XXXX?first-name=John&last-name=Smith', text=open('fixtures/view-reservation.json', 'r').read()) + requests_mock.register_uri('GET', '/api/mobile-air-operations/v1/mobile-air-operations/page/check-in/XXXX?first-name=John&last-name=Smith', text=open('fixtures/checkin-get.json', 'r').read()) + requests_mock.register_uri('POST', '/api/mobile-air-operations/v1/mobile-air-operations/page/check-in', text=open('fixtures/checkin-post.json', 'r').read()) + requests_mock.register_uri('POST', '/php/apsearch.php', text=open('fixtures/openflights.json', 'r').read()) assert checkin.auto_checkin('XXXX', 'John', 'Smith') == None -def test_timzone_localization(): +def test_timezone_localization(): tz = timezone('America/Los_Angeles') date = tz.localize(datetime.strptime('2018-01-01 13:00', '%Y-%m-%d %H:%M')) assert date.strftime('%z') == '-0800' + +def test_openflights_api(): + tzrequest = {'iata': 'LAX', + 'country': 'ALL', + 'db': 'airports', + 'iatafilter': 'true', + 'action': 'SEARCH', + 'offset': '0'} + tzresult = requests.post("https://openflights.org/php/apsearch.php", tzrequest) + airport_tz = timezone(json.loads(tzresult.text)['airports'][0]['tz_id']) + assert airport_tz.zone == "America/Los_Angeles" diff --git a/fixtures/openflights.json b/fixtures/openflights.json new file mode 100644 index 0000000..f604a71 --- /dev/null +++ b/fixtures/openflights.json @@ -0,0 +1 @@ +{"status":1,"offset":0,"max":"1","airports":[{"name":"Los Angeles International Airport","city":"Los Angeles","country":"United States","iata":"LAX","icao":"KLAX","x":"-118.4079971","y":"33.94250107","elevation":"125","apid":"3484","timezone":"-8","dst":"A","tz_id":"America\/Los_Angeles","type":"airport","source":"OurAirports","ap_uid":null,"ap_name":"Los Angeles International. (LAX), United States"}]} \ No newline at end of file