コード例 #1
0
def test_add_entry_when_already_exists():

    # add route to the database
    store_location(USER_ID, MESSAGE_ID, {"longitude": 1.0, "latitude": 2.0, "datetime": 0})
    store_location(USER_ID, MESSAGE_ID, {"longitude": 3.0, "latitude": 4.0, "datetime": 5})

    route = Ruta.select().order_by(Ruta.id.desc()).get()

    assert len(route.trajectory) == 2

    # undo changes
    Ruta.delete().where(Ruta.message == MESSAGE_ID).execute()
コード例 #2
0
def test_add_entry_correct():

    # add route to the database
    store_location(USER_ID, MESSAGE_ID, {"longitude": 1.0, "latitude": 2.0,"datetime": 0})

    route = Ruta.select().order_by(Ruta.id.desc()).get()

    assert route.trajectory[0].get("longitude") == 1.0
    assert route.trajectory[0].get("latitude") == 2.0
    assert route.trajectory[0].get("datetime") == 0
    assert route.user == USER_ID

    # undo changes

    Ruta.delete().where(Ruta.message == MESSAGE_ID).execute()
コード例 #3
0
def test_add_distance_and_time_when_adding_entry():

    store_location(USER_ID, MESSAGE_ID, {"longitude": 1.0, "latitude": 2.0, "datetime": 0})
    store_location(USER_ID, MESSAGE_ID, {"longitude": 3.0, "latitude": 4.0, "datetime": 5})
    store_location(USER_ID, MESSAGE_ID, {"longitude": 7.0, "latitude": 9.0, "datetime": 10})

    route = Ruta.select().order_by(Ruta.id.desc()).get()

    pos1 = (1.0, 2.0)
    pos2 = (3.0, 4.0)
    pos3 = (7.0, 9.0)

    assert isclose(route.distance, haversine(pos1,pos2)+haversine(pos2,pos3), abs_tol=0.1)
    assert route.time == 10

    # undo changes
    Ruta.delete().where(Ruta.message == MESSAGE_ID).execute()
コード例 #4
0
def get_routes(user_id):
    """
    list all the routes available for an user_id.
    The result should be a json with basic information
    """

    user_routes = Ruta.select().where(Ruta.user == user_id)

    routes = []

    for route in user_routes:
        routes.append({
            "user": user_id,
            "message": route.message,
            "date": route.date,
            "trajectory": route.trajectory
        })

    return jsonify(routes)