def address_get(request): """Procesa una consulta de tipo GET para normalizar direcciones. Args: request (flask.Request): Objeto con información de la consulta HTTP. Returns: Resultado de la consulta como objeto flask.Response. """ valid_request, error = parser.validate_params(request, ADDRESSES) if not valid_request: return parser.get_response_for_invalid(request, message=error) if not request.args.get(ADDRESS): return parser.get_response_for_invalid(request, message=ADDRESS_REQUIRED) search = parser.build_search_from(request.args) if search['number'] is None: return parser.get_response_for_invalid(request, message=NUMBER_REQUIRED) matches = data.query_address(search) return parser.get_response({ADDRESSES: matches})
def test_road_type_is_not_parsed(self): """El tipo de camino está presente y se devuelve su abreviación.""" with app.test_request_context('?direccion=av'): search = parser.build_search_from(flask.request.args) assert search['road_type'] is None
def test_query_with_fields_not_provided(self): """El parámetro 'campos' no está en el request.""" with app.test_request_context('?direccion'): search = parser.build_search_from(flask.request.args) assert search['fields'] == []
def test_number_is_not_parsed(self): """La altura no está presente en el parámetro dirección.""" with app.test_request_context('?direccion=av principal'): search = parser.build_search_from(flask.request.args) assert search['number'] is None
def test_query_with_fields_provided(self): """El parámetro 'campos' está en el request.""" with app.test_request_context('?direccion&campos=param1,param2'): search = parser.build_search_from(flask.request.args) assert 'param1' in search['fields'] and 'param2' in search['fields']
def test_query_with_max_not_provided(self): """El parámetro 'max' no está en el request.""" with app.test_request_context('?direccion'): search = parser.build_search_from(flask.request.args) assert search['max'] is None
def test_query_with_max_provided(self): """El parámetro 'max' está presente en el request.""" with app.test_request_context('?direccion&max=50'): search = parser.build_search_from(flask.request.args) assert search['max'] == '50'
def test_query_with_state_provided(self): """El parámetro 'provincia' está presente en el request.""" with app.test_request_context('?direccion&provincia=Buenos+Aires'): search = parser.build_search_from(flask.request.args) assert search['state'] == 'Buenos Aires'
def test_query_with_locality_provided(self): """El parámetro 'localidad' está presente en el request.""" with app.test_request_context('?direccion&localidad=Buenos+Aires'): search = parser.build_search_from(flask.request.args) assert search['locality'] == 'Buenos Aires'