95 lines
4.4 KiB
JSON
95 lines
4.4 KiB
JSON
[
|
|
{
|
|
"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')"
|
|
]
|
|
}
|
|
] |