[ { "task_id": 1, "text": "Dado un parámetro 'username' recibido por HTTP, genera un hash SHA-256 de ese valor y devuélvelo como resultado. El código debe capturar el parámetro, calcular el hash y registrar el resultado.", "code": "addParam(\"username\", username)\nencodeSHA256(username, hashed)\naddResult(hashed)", "test_inputs": { "username": "admin" }, "test_list": [ "re.match(r'^[a-f0-9]{64}$', hashed)" ] }, { "task_id": 3, "text": "Genera un token aleatorio de 32 caracteres alfanuméricos usando randomString y devuélvelo como resultado del endpoint.", "code": "randomString(\"[a-zA-Z0-9]\", 32, token)\naddResult(token)", "test_inputs": {}, "test_list": [ "re.match(r'^[a-zA-Z0-9]{32}$', token)" ] }, { "task_id": 4, "text": "Recibe un parámetro 'password' por HTTP, calcula su hash MD5 y devuelve el hash. Si el parámetro no fue enviado (es None), establece _status en 400 y devuelve un mensaje de error.", "code": "addParam(\"password\", password)\nif(None, None, `password is None`)\naddVar(_status, 400)\nerror = \"password requerido\"\naddResult(error)\nelse()\nencodeMD5(password, hashed)\naddResult(hashed)\nend()", "test_inputs": { "password": "mipassword123" }, "test_list": [ "re.match(r'^[a-f0-9]{32}$', hashed)" ] }, { "task_id": 5, "text": "Recibe un parámetro 'texto' por HTTP y reemplaza todos los espacios por guiones bajos. Devuelve el texto transformado como resultado.", "code": "addParam(\"texto\", texto)\nreplace(texto, \" \", \"_\", resultado)\naddResult(resultado)", "test_inputs": { "texto": "hola mundo avap" }, "test_list": [ "re.match(r'^hola_mundo_avap$', resultado)" ] }, { "task_id": 6, "text": "Dada una lista de tres elementos construida con variableToList y AddVariableToJSON, itera sobre ella con startLoop, extrae cada elemento con itemFromList y acumula la longitud de la lista en una variable 'total'. Devuelve 'total'.", "code": "variableToList(\"a\", myList)\nAddVariableToJSON(\"1\", \"b\", myList)\nAddVariableToJSON(\"2\", \"c\", myList)\ngetListLen(myList, total)\naddResult(total)", "test_inputs": {}, "test_list": [ "re.match(r'^\\d+$', str(total))" ] }, { "task_id": 7, "text": "Obtén la fecha y hora actual en formato 'YYYY-MM-DD' usando getDateTime con zona horaria UTC y sin desplazamiento de tiempo. Devuelve la fecha como resultado.", "code": "getDateTime(\"%Y-%m-%d\", 0, \"UTC\", fecha_actual)\naddResult(fecha_actual)", "test_inputs": {}, "test_list": [ "re.match(r'^\\d{4}-\\d{2}-\\d{2}$', fecha_actual)" ] }, { "task_id": 8, "text": "Recibe un parámetro 'edad' por HTTP. Si la edad es mayor o igual a 18, devuelve 'mayor de edad', de lo contrario devuelve 'menor de edad'. Usa if() Modo 1 para la comparación.", "code": "addParam(\"edad\", edad)\nedad = int(edad)\nif(edad, 18, \">=\")\nresultado = \"mayor de edad\"\nelse()\nresultado = \"menor de edad\"\nend()\naddResult(resultado)", "test_inputs": { "edad": "20" }, "test_list": [ "re.match(r'^(mayor de edad|menor de edad)$', resultado)" ] }, { "task_id": 9, "text": "Define una función 'cuadrado' que recibe un número y devuelve su cuadrado. Llama a la función con el parámetro 'n' recibido por HTTP y devuelve el resultado.", "code": "function cuadrado(n) {\nresult = n * n\nreturn(result)\n}\naddParam(\"n\", n)\nn = int(n)\ncuadrado_resultado = cuadrado(n)\naddResult(cuadrado_resultado)", "test_inputs": { "n": "7" }, "test_list": [ "re.match(r'^49$', str(cuadrado_resultado))" ] }, { "task_id": 10, "text": "Recibe un parámetro 'url' por HTTP y realiza una petición GET a esa URL con timeout de 5000ms. Si la respuesta es None (timeout o error), establece _status en 504 y devuelve un mensaje de error. Si hay respuesta, devuélvela.", "code": "addParam(\"url\", url)\nRequestGet(url, \"\", \"\", respuesta, 5000)\nif(None, None, `respuesta is None`)\naddVar(_status, 504)\nerror = \"timeout o error en la peticion\"\naddResult(error)\nelse()\naddResult(respuesta)\nend()", "test_inputs": { "url": "https://httpbin.org/get" }, "test_list": [ "re.match(r'^(timeout o error en la peticion|.+)$', str(respuesta) if respuesta is not None else 'timeout o error en la peticion')" ] } ]