def test_get_all(): accion_repo = AccionRepository() evento_repo = EventoRepository() accion_repo.purge_table() a = Accion(idd=Idd(Idefier()), nombre="accion_buen_humor", script_url="git://script_url", tipo=TipoAccion(nombre="buenhumor")) a1 = Accion(idd=Idd(Idefier()), nombre="accion_buen_humor1", script_url="git://script_url", tipo=TipoAccion(nombre="buenhumor")) a2 = Accion(idd=Idd(Idefier()), nombre="accion_mal_humor", script_url="git://script_url", tipo=TipoAccion(nombre="malhumor")) accion_repo.append_accion(a, evento_repo) accion_repo.append_accion(a1, evento_repo) accion_repo.append_accion(a2, evento_repo) count = 0 for acc in accion_repo.get_all_json(): assert isinstance(acc, dict) count = count + 1 assert count == 3
def from_json(self, json_str_accion: str): json_accion = json.loads(json_str_accion) return Accion( idd=Idd(idefier=Idefier(), idd_str=json_accion['idd']), nombre=json_accion['nombre'], script_url=json_accion['script_url'], tipo=json_accion['tipo'] )
async def new_accion(request): logger.debug("Solicitada new_accion") comando_repo = ComandoRepository() r = await request.json() await comando_repo.send_comando( ComandoNuevaAccion(idd=Idd(Idefier()), accion=Accion(idd=Idd(Idefier()), nombre=r['nombre'], script_url=r['script_url'], tipo=TipoAccion(r['tipo'])))) return web.json_response()
def test_get_by_id(): accion_repo = AccionRepository() evento_repo = EventoRepository() accion_repo.purge_table() a = Accion(idd=Idd(Idefier()), nombre="nombreaccion", script_url="git://script_url", tipo=TipoAccion(nombre="buenhumor")) accion_repo.append_accion(a, evento_repo) a2 = Accion(idd=Idd(Idefier()), nombre="nombreaccion2", script_url="git://script_url2", tipo=TipoAccion(nombre="malhumor")) with pytest.raises(AccionNotFoundException): acc = accion_repo.get_accion_by_id(a2.idd) acc = accion_repo.get_accion_by_id(a.idd) assert acc.idd == a.idd assert acc.tipo == a.tipo
def test_get_by_id(): idefier = Idefier() accion = Accion(Idd(idefier), "nombre", "script_url", "enfado") evento_repo = EventoRepository() accion_repo = AccionRepository() accion_repo.append_accion(accion, evento_repo) acciones = accion_repo.get_all() #with pytest.raises(AccionNotFoundException): # accion = accion_repo.get_accion_by_id(Idd(idefier, "estanoexiste")) print(acciones) id_str = acciones[0].idd accion = accion_repo.get_accion_by_id(Idd(idefier, id_str)) assert accion.idd == id_str, "Deberia haber recuperado la accion con idd igual al que creo"
def test_get_all(): idefier = Idefier() accion = Accion(Idd(idefier), "nombre", "script_url", "enfado") evento_repo = EventoRepository() accion_repo = AccionRepository() acciones = accion_repo.get_all_json() assert len(acciones) == 0, "Deberia mostrar ninguna accion" accion_repo.append_accion(accion, evento_repo) acciones = accion_repo.get_all_json() assert len(acciones) == 1, "Deberia mostrar una sola accion" accion_repo.append_accion(accion, evento_repo) acciones = accion_repo.get_all_json() assert len(acciones) == 2, "Deberia mostrar dos acciones"
def new_accion(): try: logger.debug("Solicitada new_accion") comando_repo = ComandoRepository() r = request.get_json(force=True) comando_repo.send_comando( ComandoNuevaAccion(idd=Idd(Idefier()), accion=Accion(idd=Idd(Idefier()), nombre=r['nombre'], script_url=r['script_url'], tipo=TipoAccion(r['tipo'])))) return {} except KeyError as ke: return ({"message": str(ke)}, 400) except Exception as ex: logger.error(ex) print_exc() return ({"message": str(ex)}, 500)
def test_comando_nueva_accion(): comando_repo = ComandoRepository() cna = ComandoNuevaAccion(idd=Idd(Idefier()), accion=Accion( idd=Idd(Idefier()), nombre="nombreaccion", script_url="url", tipo=TipoAccion(nombre="buenhumor"))) comando_repo.send_comando(cna) count = 0 for ccna in comando_repo.next_comando(): assert not ccna is None assert isinstance(ccna, ComandoNuevaAccion) assert ccna.accion.nombre == "nombreaccion" count = count + 1 break assert count == 1
def deserialize(accion: dict) -> Accion: return Accion(**accion)