def create_test_moto():
    new_moto = MotoModel.query.filter(MotoModel.matricula == matricula).first()
    # Si ya existe retornamos directamente
    if new_moto is not None:
        return new_moto
    # Si no existe la creamos
    new_moto = MotoModel(state="AVAILABLE",
                         matricula=matricula,
                         date_estreno="28/10/2020",
                         model_generic="premium",
                         last_coordinate_latitude=23.4434,
                         last_coordinate_longitude=23.4433,
                         km_restantes=120.0,
                         km_totales=500.0,
                         date_last_check="18/10/2020",
                         km_last_check=0.0)
    new_moto.save_to_db()

    new_moto = MotoModel.query.filter(MotoModel.matricula == matricula).first()

    if new_moto is None:
        # No se ha añadido a la base de datos!!!!
        # Si esto no funciona los tests no tienen sentido.
        assert False
    return new_moto
示例#2
0
def test_ModifyMoto_updateFields():
    """
    GIVEN a MotoModel model
    WHEN a MotoModel is updated
    THEN check the fields is updated correctly
    """
    new_moto = MotoModel(state="REPAIRING",
                         matricula="1234-MMM",
                         date_estreno="24/11/2020",
                         model_generic="premium",
                         last_coordinate_latitude=23.4434,
                         last_coordinate_longitude=23.4433,
                         km_restantes=120.0,
                         km_totales=10.0,
                         date_last_check="24/11/2020",
                         km_last_check=0.0)

    MotoModel.set_moto(new_moto, "1234-AAA", 110.0, "AVAILABLE")
    assert new_moto.matricula == "1234-AAA"
    assert new_moto.km_restantes == 110.0
    assert new_moto.state == "AVAILABLE"
    assert new_moto.km_last_check == 10.0
    date_format = "%d/%m/%Y"
    today = datetime.now().strftime(date_format)
    assert isinstance(today, str)
    assert isinstance(new_moto.date_last_check, str)
    assert new_moto.date_last_check == today
示例#3
0
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('license_plate',
                            type=str,
                            required=True,
                            help="This field cannot be left blank")
        parser.add_argument('model_generic',
                            type=str,
                            required=True,
                            help="This field cannot be left blank")
        data = parser.parse_args()

        matricula = data["license_plate"].upper()
        model_generic = data["model_generic"]

        if not MotoModel.is_license_plate(matricula):
            return {
                "message":
                "ERROR: The format of the license plate is not valid."
            }, 400
        if model_generic not in ("basic", "premium"):
            return {
                "message":
                "ERROR: model_generic should be either [basic] or [premium]."
            }, 400

        m = MotoModel.query.filter(
            MotoModel.matricula == data["license_plate"]).first()
        if m is not None:
            return {
                "message":
                "There is already a motorbike with license plate [{}].".format(
                    matricula)
            }, 409
        else:
            try:
                date_format = "%d/%m/%Y"
                today = datetime.now().strftime(date_format)
                str_today = today  # str(today.day) + str(today.month) + str(today.year)

                # Esto de aquí genera unas coordenadas en BCN con ruido gausiano.
                latt, long = MotoModel.get_random_coordinates()

                moto = MotoModel('AVAILABLE', matricula, str_today,
                                 data['model_generic'], latt, long, 50, 0,
                                 str_today, 0)
                moto.save_to_db()
                return {"message": "Moto added successfully"}, 200
            except:
                return {"message": "Internal Error Post Moto"}, 500
示例#4
0
def test_street_variable():
    """
    GIVEN a MotoModel model
    WHEN a new MotoModel is created
    THEN check the address field is defined correctly
    """
    new_moto = MotoModel(state="ACTIVE",
                         matricula="1234-MMM",
                         date_estreno="24/11/2020",
                         model_generic="premium",
                         last_coordinate_latitude=23.4434,
                         last_coordinate_longitude=23.4433,
                         km_restantes=120.0,
                         km_totales=0.0,
                         date_last_check="24/11/2020",
                         km_last_check=0.0)

    assert new_moto.address == "Al Kufrah, Libia"
示例#5
0
def init_db():
    db.drop_all()
    db.create_all()
    new_moto1 = MotoModel(state="AVAILABLE",
                          matricula="1111-MMM",
                          date_estreno="28/10/2020",
                          model_generic="basic",
                          last_coordinate_latitude=41.403193,
                          last_coordinate_longitude=2.175004,
                          km_restantes=34.0,
                          km_totales=300.0,
                          date_last_check="18/10/2020",
                          km_last_check=0.0)
    db.session.add(new_moto1)

    new_moto2 = MotoModel(state="AVAILABLE",
                          matricula="2222-MMM",
                          date_estreno="28/10/2020",
                          model_generic="basic",
                          last_coordinate_latitude=41.403719,
                          last_coordinate_longitude=2.189128,
                          km_restantes=3.0,
                          km_totales=23.0,
                          date_last_check="18/10/2020",
                          km_last_check=0.0)
    db.session.add(new_moto2)

    new_moto3 = MotoModel(state="AVAILABLE",
                          matricula="3333-MMM",
                          date_estreno="28/10/2020",
                          model_generic="premium",
                          last_coordinate_latitude=41.386399,
                          last_coordinate_longitude=2.164143,
                          km_restantes=120.0,
                          km_totales=500.0,
                          date_last_check="18/10/2020",
                          km_last_check=0.0)
    db.session.add(new_moto3)

    new_moto = MotoModel(state="AVAILABLE",
                         matricula="4444-MMM",
                         date_estreno="28/10/2020",
                         model_generic="premium",
                         last_coordinate_latitude=41.348788,
                         last_coordinate_longitude=2.132925,
                         km_restantes=45.0,
                         km_totales=203.0,
                         date_last_check="18/10/2020",
                         km_last_check=0.0)
    db.session.add(new_moto)

    new_moto = MotoModel(state="LOW_BATTERY_FUEL",
                         matricula="5555-MMM",
                         date_estreno="08/10/2020",
                         model_generic="premium",
                         last_coordinate_latitude=41.413273,
                         last_coordinate_longitude=2.152931,
                         km_restantes=2.0,
                         km_totales=100.0,
                         date_last_check="18/10/2020",
                         km_last_check=100.0)
    db.session.add(new_moto)

    new_moto = MotoModel(state="LOW_BATTERY_FUEL",
                         matricula="6666-MMM",
                         date_estreno="08/10/2020",
                         model_generic="premium",
                         last_coordinate_latitude=41.427691,
                         last_coordinate_longitude=2.166293,
                         km_restantes=4.0,
                         km_totales=100.0,
                         date_last_check="18/10/2020",
                         km_last_check=100.0)
    db.session.add(new_moto)

    new_moto = MotoModel(state="AVAILABLE",
                         matricula="7777-MMM",
                         date_estreno="28/10/2020",
                         model_generic="premium",
                         last_coordinate_latitude=41.387818,
                         last_coordinate_longitude=2.169647,
                         km_restantes=23.0,
                         km_totales=203.0,
                         date_last_check="18/10/2020",
                         km_last_check=0.0)
    db.session.add(new_moto)

    new_moto = MotoModel(state="AVAILABLE",
                         matricula="8888-MMM",
                         date_estreno="28/10/2020",
                         model_generic="basic",
                         last_coordinate_latitude=41.375960,
                         last_coordinate_longitude=2.177455,
                         km_restantes=35.0,
                         km_totales=203.0,
                         date_last_check="18/10/2020",
                         km_last_check=100.0)
    db.session.add(new_moto)

    new_moto = MotoModel(state="AVAILABLE",
                         matricula="5454-MMM",
                         date_estreno="28/11/2020",
                         model_generic="premium",
                         last_coordinate_latitude=41.384223,
                         last_coordinate_longitude=2.160337,
                         km_restantes=35.0,
                         km_totales=403.0,
                         date_last_check="28/10/2020",
                         km_last_check=100.0)
    db.session.add(new_moto)

    new_moto = MotoModel(state="AVAILABLE",
                         matricula="4545-MMM",
                         date_estreno="28/11/2020",
                         model_generic="premium",
                         last_coordinate_latitude=41.359768,
                         last_coordinate_longitude=2.084035,
                         km_restantes=35.0,
                         km_totales=403.0,
                         date_last_check="28/10/2020",
                         km_last_check=100.0)
    db.session.add(new_moto)

    new_moto9 = MotoModel(state="AVAILABLE",
                          matricula="9999-MMM",
                          date_estreno="28/10/2020",
                          model_generic="basic",
                          last_coordinate_latitude=41.591158,
                          last_coordinate_longitude=1.520865,
                          km_restantes=34.0,
                          km_totales=300.0,
                          date_last_check="18/10/2020",
                          km_last_check=0.0)
    db.session.add(new_moto9)

    new_moto10 = MotoModel(state="AVAILABLE",
                           matricula="1010-MMM",
                           date_estreno="28/10/2020",
                           model_generic="basic",
                           last_coordinate_latitude=41.591158,
                           last_coordinate_longitude=1.5209,
                           km_restantes=999.0,
                           km_totales=300.0,
                           date_last_check="18/10/2020",
                           km_last_check=0.0)
    db.session.add(new_moto10)

    client1 = ClientModel(nombre="Juana",
                          iban="2223462362665251w",
                          dni_nie="11111111J",
                          email="*****@*****.**",
                          password="******")
    db.session.add(client1)

    client2 = ClientModel(nombre="Camila",
                          iban="22462362665251w",
                          dni_nie="14441111J",
                          email="*****@*****.**",
                          password="******")
    db.session.add(client2)

    client3 = ClientModel(nombre="Sofia",
                          iban="2223332362665251w",
                          dni_nie="11188881J",
                          email="*****@*****.**",
                          password="******")
    db.session.add(client3)

    client = ClientModel(nombre="Ramona",
                         iban="225554362665251w",
                         dni_nie="12341111J",
                         email="*****@*****.**",
                         password="******")
    db.session.add(client)

    articulo = ArticleModel(
        titulo="¡Motos más nuevas y potentes que nunca!",
        texto="Las nuevas motos de Mooving están batiendo todos los"
        "récord habidos y por haber. Tenemos más de 400 motos eléctricas"
        "con una autonomía de más de 100KM.",
        fecha_creacion="2020/10/29",
        visible=True)
    db.session.add(articulo)

    articulo = ArticleModel(
        titulo="¡Motos más rápidas !",
        texto=
        "Las nuevas motos de Mooving son más rápidas que las de la competencia."
        " Tenemos más de 400 motos eléctricas"
        " con una velocidad punta de más de 100KM/H .",
        fecha_creacion="2020/10/28",
        visible=True)
    db.session.add(articulo)

    new_mechanic = MechanicModel(name="Jose",
                                 subname="De carglass",
                                 dni="11111111J",
                                 password="******",
                                 date_registration="23/02/2020")
    db.session.add(new_mechanic)

    new_mechanic = MechanicModel(name="Pepe",
                                 subname="De marcota",
                                 dni="22222222J",
                                 password="******",
                                 date_registration="24/02/2020")
    db.session.add(new_mechanic)

    db.session.commit()
    print('Success in adding items to database')
示例#6
0
# coding=utf-8

import math

import app
from models.moto_model import MotoModel
from datetime import datetime

# Test

m1 = MotoModel(state="ACTIVE",
               matricula="3333-MMM",
               date_estreno="28/10/2020",
               model_generic="premium",
               last_coordinate_latitude=23.,
               last_coordinate_longitude=23.,
               km_restantes=120.0,
               km_totales=0.0,
               date_last_check="18/10/2020",
               km_last_check=0.0)

m2 = MotoModel(state="ACTIVE",
               matricula="4444-MMM",
               date_estreno="28/10/2020",
               model_generic="premium",
               last_coordinate_latitude=23.1,
               last_coordinate_longitude=23.1,
               km_restantes=120.0,
               km_totales=0.0,
               date_last_check="18/10/2020",
               km_last_check=0.0)
示例#7
0
def add_data(db=db):

    new_moto1 = MotoModel(
        state="AVAILABLE",
        matricula="1111-MMM",
        date_estreno="28/10/2020",
        model_generic="basic",
        last_coordinate_latitude=41.40181444604073,
        last_coordinate_longitude=2.1602937877348554,
        km_restantes=80.0,
        km_totales=300.0,
        date_last_check="18/10/2020",
        km_last_check=0.0)
    db.session.add(new_moto1)

    new_moto2 = MotoModel(
        state="AVAILABLE",
        matricula="2222-MMM",
        date_estreno="28/10/2020",
        model_generic="basic",
        last_coordinate_latitude=41.40514485607213,
        last_coordinate_longitude=2.1587408287276393,
        km_restantes=80.0,
        km_totales=23.0,
        date_last_check="18/10/2020",
        km_last_check=0.0)
    db.session.add(new_moto2)

    new_moto3 = MotoModel(
        state="AVAILABLE",
        matricula="3333-MMM",
        date_estreno="28/10/2020",
        model_generic="premium",
        last_coordinate_latitude=41.40396129395845,
        last_coordinate_longitude=2.1672429122257184,
        km_restantes=120.0,
        km_totales=500.0,
        date_last_check="18/10/2020",
        km_last_check=0.0)
    db.session.add(new_moto3)

    new_moto = MotoModel(
        state="AVAILABLE",
        matricula="4444-MMM",
        date_estreno="28/10/2020",
        model_generic="premium",
        last_coordinate_latitude=41.403205972568855,
        last_coordinate_longitude=2.155472976562771,
        km_restantes=120.0,
        km_totales=203.0,
        date_last_check="18/10/2020",
        km_last_check=0.0)
    db.session.add(new_moto)

    new_moto = MotoModel(
        state="LOW_BATTERY_FUEL",
        matricula="5555-MMM",
        date_estreno="08/10/2020",
        model_generic="premium",
        last_coordinate_latitude=41.40510495456656,
        last_coordinate_longitude=2.166668308564227,
        km_restantes=30.0,
        km_totales=100.0,
        date_last_check="18/10/2020",
        km_last_check=100.0)
    db.session.add(new_moto)

    new_moto = MotoModel(
        state="LOW_BATTERY_FUEL",
        matricula="6666-MMM",
        date_estreno="08/10/2020",
        model_generic="premium",
        last_coordinate_latitude=41.40551322372631,
        last_coordinate_longitude=2.163830433113226 ,
        km_restantes=30.0,
        km_totales=100.0,
        date_last_check="18/10/2020",
        km_last_check=100.0)
    db.session.add(new_moto)

    client1 = ClientModel(
        nombre="Juana",
        iban="2223462362665251w",
        dni_nie="11111111J",
        email="*****@*****.**",
        password="******"
    )
    db.session.add(client1)

    client2 = ClientModel(
        nombre="Camila",
        iban="22462362665251w",
        dni_nie="14441111J",
        email="*****@*****.**",
        password="******"

    )
    db.session.add(client2)

    client3 = ClientModel(
        nombre="Sofia",
        iban="2223332362665251w",
        dni_nie="11188881J",
        email="*****@*****.**",
        password="******"
    )
    db.session.add(client3)

    client = ClientModel(
        nombre="Ramona",
        iban="225554362665251w",
        dni_nie="12341111J",
        email="*****@*****.**",
        password="******"
    )
    db.session.add(client)

    articulo = ArticleModel(
        titulo="¡Motos más nuevas y potentes que nunca!",
        texto="Las nuevas motos de Mooving están batiendo todos los"
              "récord habidos y por haber. Tenemos más de 400 motos eléctricas"
              "con una autonomía de más de 100KM.",
        fecha_creacion="2020/10/29",
        visible=True)
    db.session.add(articulo)

    articulo = ArticleModel(
        titulo="¡Motos más rápidas !",
        texto="Las nuevas motos de Mooving son más rápidas que las de la competencia."
              " Tenemos más de 400 motos eléctricas"
              " con una velocidad punta de más de 100KM/H .",
        fecha_creacion="2020/10/28",
        visible=True)
    db.session.add(articulo)

    new_mechanic = MechanicModel(
        name="Jose",
        subname="De carglass",
        dni="11111111J",
        password="******",
        date_registration="23/02/2020")
    db.session.add(new_mechanic)

    new_mechanic = MechanicModel(
        name="Pepe",
        subname="De marcota",
        dni="22222222J",
        password="******",
        date_registration="24/02/2020")
    db.session.add(new_mechanic)

    db.session.commit()
    print('Success in adding items to database')