def test_comando_nueva_tarea(): comando_repo = ComandoRepository() cnt_alta = ComandoNuevaTarea(idd=Idd(Idefier()), tarea=Tarea(idd=Idd(Idefier()), nombre="tareaalta", parametros="parametros", prioridad=1, accionid="accion")) cnt_baja = ComandoNuevaTarea(idd=Idd(Idefier()), tarea=Tarea(idd=Idd(Idefier()), nombre="tareabaja", parametros="parametros", prioridad=0, accionid="accion")) comando_repo.send_comando(cnt_alta) comando_repo.send_comando(cnt_baja) count = 0 for ccnt in comando_repo.next_comando(): assert isinstance(ccnt, ComandoNuevaTarea) assert ccnt.tarea.nombre in ("tareabaja", "tareaalta") print(f"vamos por contador: {count}") count = count + 1 if count == 2: break assert count == 2
def test_valida_nombre_tarea(): with pytest.raises(AttributeError): Tarea(idd=Idd(Idefier()), nombre="", accionid=Idd(idefier=Idefier()), prioridad=Prioridad(1)) with pytest.raises(AttributeError): Tarea(idd=Idd(Idefier()), nombre="hola", accionid=Idd(idefier=Idefier()), prioridad=Prioridad(1)) with pytest.raises(AttributeError): Tarea(idd=Idd(Idefier()), nombre="ho", accionid=Idd(idefier=Idefier()), prioridad=Prioridad(1))
def test_enviar_recibir(): tarea_repo = TareaRepository() tarea_repo.purge_queue() task_baja = Tarea( idd=Idd(Idefier()), nombre="tarea_baja", accionid="accion_id", parametros={"param1": "hola"}, prioridad=0 ) task_alta = Tarea( idd=Idd(Idefier()), nombre="tarea_alta", accionid="accion_id", parametros={"param1": "hola"}, prioridad=1 ) tarea_repo.append(task_baja) tarea_repo.append(task_alta) count = 0 for taskc in tarea_repo.next_tarea(): assert not taskc is None assert isinstance(taskc, Tarea) assert taskc.nombre == task_alta.nombre assert taskc.prioridad == task_alta.prioridad count = count + 1 break assert count == 1 for taskc in tarea_repo.next_tarea(): assert not taskc is None assert isinstance(taskc, Tarea) assert taskc.nombre == task_baja.nombre assert taskc.prioridad == task_baja.prioridad count = count + 1 break assert count == 2
def create_task(): logger.debug("Solicitada new_task") comando_repo = ComandoRepository() r = request.get_json(force=True) comando_repo.send_comando( ComandoNuevaTarea(idd=Idd(Idefier()), tarea=Tarea(Idd(Idefier()), nombre=r['nombre'], accionid=r['accionid'], prioridad=r['prioridad']))) logger.debug("Se ha enviado el comando new_task") return {"msg": "solicitud recibida", "request": r}
async def new_task(request): logger.debug("Solicitada new_task") comando_repo = ComandoRepository() r = await request.json() await comando_repo.send_comando( ComandoNuevaTarea(idd=Idd(Idefier()), tarea=Tarea(Idd(Idefier()), nombre=r['nombre'], accionid=r['accionid'], prioridad=r['prioridad']))) logger.debug("Se ha enviado el comando new_task") return web.json_response({ "msg": "solicitud recibida", "request": r }, status=200)
def deserialize(tarea: dict) -> Tarea: return Tarea(**tarea)