From 9f41fe505658a37edaa6e947bc437d6414503203 Mon Sep 17 00:00:00 2001 From: Emily Bache Date: Tue, 13 Aug 2013 20:25:08 +0200 Subject: [PATCH] make python starting code smaller --- .gitignore | 3 +++ guiding_test.py | 6 ++++-- python/reservations.py | 16 ---------------- python/test_train_reservation.py | 21 --------------------- python/ticket_office.py | 13 +++++++------ 5 files changed, 14 insertions(+), 45 deletions(-) delete mode 100644 python/reservations.py delete mode 100644 python/test_train_reservation.py diff --git a/.gitignore b/.gitignore index d8d9ece..099c3d9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ train/* +trains/* +*.pyc + diff --git a/guiding_test.py b/guiding_test.py index 7b7d4a0..0c9418c 100644 --- a/guiding_test.py +++ b/guiding_test.py @@ -23,22 +23,24 @@ class TrainReservationTest(unittest.TestCase): def test_reserve_seats_via_POST(self): - form_data = {"train_id": "express_2000", "seats": 4} + form_data = {"train_id": "express_2000", "seat_count": 4} data = urllib.parse.urlencode(form_data) req = urllib.request.Request(url + "/reserve", bytes(data, encoding="ISO-8859-1")) response = urllib.request.urlopen(req).read().decode("ISO-8859-1") reservation = json.loads(response) + assert "express_2000" == reservation["train_id"] assert 4 == len(reservation["seats"]) assert "1A" == reservation["seats"][0] assert "75bcd15" == reservation["booking_reference"] - def test_reserve_seats_via_cmd(self): + def hid_test_reserve_seats_via_cmd(self): response = subprocess.check_output([interpreter, reservation_script, "express2000", "4"], stderr=subprocess.STDOUT, universal_newlines = True) reservation = json.loads(response) + assert "express_2000" == reservation["train_id"] assert 4 == len(reservation["seats"]) assert "1A" == reservation["seats"][0] assert "75bcd15" == reservation["booking_reference"] diff --git a/python/reservations.py b/python/reservations.py deleted file mode 100644 index 3e24984..0000000 --- a/python/reservations.py +++ /dev/null @@ -1,16 +0,0 @@ - -class ReservationRequest(object): - def __init__(self, train_id, seat_count): - self.train_id = train_id - self.seat_count = seat_count - -class Reservation(object): - def __init__(self, train_id, seats=None, booking_reference=None): - self.train_id = train_id - self.seats = seats or [] - self.booking_reference = booking_reference - -class Seat(object): - def __init__(self, coach, seat_number): - self.coach = coach - self.seat_number = seat_number \ No newline at end of file diff --git a/python/test_train_reservation.py b/python/test_train_reservation.py deleted file mode 100644 index 915fbbb..0000000 --- a/python/test_train_reservation.py +++ /dev/null @@ -1,21 +0,0 @@ - -import unittest - -from reservations import * -from ticket_office import * - -class TestTicketOffice(unittest.TestCase): - - def test_reserve_seats(self): - office = TicketOffice(train_data_service = "http://localhost:8081", - booking_reference_service = "http://localhost:8082") - request = ReservationRequest(train_id="express_2000", seat_count=4) - - reservation = office.make_reservation(request) - - self.assertEqual(4, len(reservation.seats)) - self.assertEqual("A", reservation.seats[0].coach) - self.assertEqual("75bcd15", reservation.booking_reference) - -if __name__ == '__main__': - unittest.main() \ No newline at end of file diff --git a/python/ticket_office.py b/python/ticket_office.py index eeef849..e792d0f 100644 --- a/python/ticket_office.py +++ b/python/ticket_office.py @@ -1,12 +1,13 @@ -from reservations import * - class TicketOffice(object): - def __init__(self, train_data_service, booking_reference_service): - pass - - def make_reservation(self, reservation_request): + def reserve(self, train_id, seat_count): # TODO: write this code! pass +if __name__ == "__main__": + """Deploy this class as a web service using CherryPy""" + import cherrypy + TicketOffice.reserve.exposed = True + cherrypy.config.update({"server.socket_port" : 8083}) + cherrypy.quickstart(TicketOffice())