예제 #1
0
 def test_false_when_valid(self):
     """ Returns false when sending a valid query. """
     query = 'paris'
     latitude = '36'
     longitude = '86'
     result = check_inputs(query, latitude, longitude)
     self.assertFalse(result)
예제 #2
0
 def test_latitude_missing(self):
     """ Test that correct error message is returned when latitude is missing. """
     query = 'test'
     latitude = None
     longitude = '81'
     result = check_inputs(query, latitude, longitude)
     expected = {'error': 'Latitude is missing!'}
     self.assertEqual(result, expected)
예제 #3
0
 def test_invalid_coord(self):
     """ Make sure coordinates can be parsed to floats. """
     query = 'paris'
     latitude = 'thirtysix'
     longitude = '86'
     result = check_inputs(query, latitude, longitude)
     expected = {'error': 'Invalid coordinate(s)'}
     self.assertEqual(result, expected)
예제 #4
0
 def test_not_string_query(self):
     """ Make sure query is string. """
     query = {'city': 'vancouver'}
     latitude = '36'
     longitude = '86'
     result = check_inputs(query, latitude, longitude)
     expected = {'error': 'City name must be a string!'}
     self.assertEqual(result, expected)
예제 #5
0
 def test_query_with_numbers(self):
     """ Make sure query does not contain numbers. """
     query = 'par1s'
     latitude = '36'
     longitude = '86'
     result = check_inputs(query, latitude, longitude)
     expected = {'error': 'City name must not contain numbers!'}
     self.assertEqual(result, expected)
예제 #6
0
def process():
    """ Code for processing webform query. """
    query = request.form['query']

    latitude = None
    if 'latitude' in request.form:
        latitude = request.form.get('latitude')

    longitude = None
    if 'longitude' in request.form:
        longitude = request.form.get('longitude')

    # Returns False when input is valid, error message otherwise
    if query:
        check = check_inputs(query, latitude, longitude)
        # If any check failed, return error message, otherwise lookup query
        if check:
            return jsonify(check)
        else:
            return jsonify(get_cities(query, latitude, longitude))
    else:
        return jsonify({'error': 'Missing data!'})