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)
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)
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)
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)
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)
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!'})