Beispiel #1
0
 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')
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #4
0
    def __init__(self, cdb=None):
        if cdb is None:
            self.cdb = _city_database()
        else:
            self.cdb = cdb

        self.cdb.load_cities('worldcities.csv')
Beispiel #5
0
 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')
Beispiel #6
0
 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)
Beispiel #7
0
 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)
Beispiel #8
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
Beispiel #10
0
 def test_get_distance(self):
     cdb = _city_database()
     cdb.load_cities('worldcities.csv')
     dist = cdb.get_distance(1840002540, 1840021263)
     self.assertEqual(dist, 2059)
Beispiel #11
0
 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])
Beispiel #12
0
from cities_library import _city_database

cdb = _city_database()
cdb.load_cities('worldcities.csv')
ret = cdb.city_coords
print(ret[1840001590])
Beispiel #13
0
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)