def test_get_all_city_info(self): cdb = _city_database() cdb.load_cities('worldcities.csv') ret = cdb.get_all_city_info(1840001590) self.assertEqual(ret['Name'], 'Lansing') self.assertEqual(ret['Country'], 'United States') self.assertEqual(ret['Coordinates'][1], '-94.8952')
def test_time_of_flight(self): cdb = _city_database() cdb.load_cities('worldcities.csv') time = cdb.time_of_flight(1840002540, 1840021263) self.assertTrue(time) self.assertEqual(time[0], 2) self.assertEqual(time[1], 20)
def get_all_IDs(self): cdb = _city_database() cdb.load_cities('worldcities.csv') ret = [] ret = cdb.get_all_IDs() self.assertTrue(ret) self.assertEqual(ret[-2], 1840002540)
def __init__(self, cdb=None): if cdb is None: self.cdb = _city_database() else: self.cdb = cdb self.cdb.load_cities('worldcities.csv')
def test_load_cities(self): cdb = _city_database() cdb.load_cities('worldcities.csv') self.assertTrue(cdb.city_details) self.assertTrue(cdb.city_coords) self.assertTrue(cdb.ID_List) self.assertTrue(cdb.maxID > 0) self.assertEqual(cdb.city_details[1840002127]['Name'], 'Belle Fourche')
def test_reset_all_data(self): cdb = _city_database() cdb.load_cities('worldcities.csv') newCity = {} newCity['Name'] = 'Gotham' newCity['Country'] = 'Jupiter' newCity['Coordinates'] = [4.20, 69.0] newID = cdb.add_city(newCity) resp = cdb.reset_all_data() self.assertTrue(resp) resp = cdb.get_all_city_info(newID) self.assertFalse(resp)
def test_add_city(self): cdb = _city_database() cdb.load_cities('worldcities.csv') maxIDBefore = cdb.maxID newCity = {} newCity['Name'] = 'Gotham' newCity['Country'] = 'Jupiter' newCity['Coordinates'] = [4.20, 69.0] newID = cdb.add_city(newCity) resp = cdb.get_all_city_info(newID) self.assertEqual(resp['Name'], 'Gotham') self.assertEqual(resp['Country'], 'Jupiter') self.assertEqual(resp['Coordinates'][0], 4.20) self.assertEqual(cdb.city_coords[newID][1], 69.0)
def test_set_city(self): cdb = _city_database() cdb.load_cities('worldcities.csv') new_city = { 'Name': 'FakeCity', 'Country': 'FakeCountry', 'Coordinates': [0, 0] } test_id = 1840001590 cdb.set_city(test_id, new_city) new_city = cdb.get_all_city_info(test_id) self.assertEqual(new_city['Name'], 'FakeCity') self.assertEqual(new_city['Country'], 'FakeCountry') self.assertEqual(new_city['Coordinates'][1], 0)
def __init__(self, cdb=None): if cdb is None: self.cdb = _city_database() else: self.cdb = cdb
def test_get_distance(self): cdb = _city_database() cdb.load_cities('worldcities.csv') dist = cdb.get_distance(1840002540, 1840021263) self.assertEqual(dist, 2059)
def test_get_cities_in_country(self): cdb = _city_database() cdb.load_cities('worldcities.csv') listy = cdb.get_cities_in_country('China') self.assertTrue(listy) self.assertEqual('Yulin', listy[2])
from cities_library import _city_database cdb = _city_database() cdb.load_cities('worldcities.csv') ret = cdb.city_coords print(ret[1840001590])
def start_service(): dispatcher = cherrypy.dispatch.RoutesDispatcher() cdb = _city_database() citiesController = CitiesController(cdb=cdb) resetController = ResetController(cdb=cdb) distanceController = DistanceController(cdb=cdb) deleteController = DeleteController(cdb=cdb) dispatcher.connect('city_get_by_name', '/cities/:name', controller=citiesController, action='GET_CITIES_BY_NAME', conditions=dict(method=['GET'])) dispatcher.connect('get_cities', '/cities/', controller=citiesController, action='GET_CITIES', conditions=dict(method=['GET'])) dispatcher.connect('get_city', '/city/:idNum', controller=citiesController, action='GET_CITY_INFO', conditions=dict(method=['GET'])) dispatcher.connect('cities_of_country_get', '/country/:country', controller=citiesController, action='GET_COUNTRY_CITIES', conditions=dict(method=['GET'])) dispatcher.connect('reset_all_put', '/reset/', controller=resetController, action='PUT_ALL', conditions=dict(method=['PUT'])) dispatcher.connect('reset_city_put', '/reset/:idNum', controller=resetController, action='PUT_CITY', conditions=dict(method=['PUT'])) dispatcher.connect('distance_get', '/distance/', controller=distanceController, action='GET_DISTANCE', conditions=dict(method=['PUT'])) dispatcher.connect('add_city', '/cities/', controller=citiesController, action='POST_CITY', conditions=dict(method=['POST'])) dispatcher.connect('get_ids_all', '/ids/', controller=citiesController, action='GET_ALL_IDS', conditions=dict(method=['GET'])) dispatcher.connect('get_flight_time', '/time/', controller=distanceController, action='GET_TIME_FLIGHT', conditions=dict(method=['PUT'])) dispatcher.connect('city_delete', '/city/:idNum', controller=deleteController, action='DELETE_CITY', conditions=dict(method=['DELETE'])) dispatcher.connect('all_delete', '/cities/', controller=deleteController, action='DELETE_ALL', conditions=dict(method=['DELETE'])) # CORS Stuff dispatcher.connect('get_cities_options', '/cities/', controller=optionsController, action='OPTIONS', conditions=dict(method=['OPTIONS'])) dispatcher.connect('get_reset_options', '/reset/', controller=optionsController, action='OPTIONS', conditions=dict(method=['OPTIONS'])) dispatcher.connect('get_delete_options', '/city/:city', controller=optionsController, action='OPTIONS', conditions=dict(method=['OPTIONS'])) dispatcher.connect('get_distance_options', '/distance/', controller=optionsController, action='OPTIONS', conditions=dict(method=['OPTIONS'])) conf = { 'global': { 'server.thread_pool': 5, 'server.socket_host': 'student05.cse.nd.edu', 'server.socket_port': 51031 }, '/': { 'request.dispatch': dispatcher, 'tools.CORS.on': True, } } cherrypy.config.update(conf) app = cherrypy.tree.mount(None, config=conf) cherrypy.quickstart(app)