You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updated README to enhance clarity and detail about the AWS Lambda Testing Framework, including installation instructions, technologies used, and lessons learned.
Framework para testear funciones Lambda en AWS usando Playwright y TypeScript.
3
+
> Suite de pruebas para arquitectura serverless en AWS.
4
+
> Prueba funciones Lambda, API Gateway, colas SQS y DynamoDB
5
+
> con Playwright + TypeScript + AWS SDK v3, con pipeline de
6
+
> deploy automático en GitHub Actions.
4
7
5
-
# Para qué sirve
8
+
---
6
9
7
-
Básicamente, automaticé las pruebas de toda una arquitectura serverless en AWS. Antes tenía que pedirle al equipo de desarrollo que me ayudara a invocar Lambdas o revisar logs. Ahora lo hago solo.
10
+
## Por qué este proyecto existe — y por qué me sorprendió construirlo
8
11
9
-
El proyecto prueba:
10
-
- Funciones Lambda
11
-
- API Gateway
12
-
- Colas SQS
13
-
- Base de datos DynamoDB
14
-
- Logs en CloudWatch
12
+
Cuando aprendí a probar APIs REST, el flujo era simple: mandas una
13
+
request, recibes una response, validas el resultado. Todo sincrónico,
14
+
todo predecible.
15
15
16
-
# Cómo funciona
16
+
Las arquitecturas serverless funcionan diferente. No hay un servidor
17
+
esperando tu request. Una función Lambda se despierta, hace su trabajo,
18
+
y el resultado puede llegar segundos después a través de una cola SQS
19
+
o quedar guardado en DynamoDB. Probar eso con las mismas técnicas que
20
+
usas para un REST tradicional no funciona.
17
21
18
-
Usuario → API Gateway → SQS → Lambda → OpenWeather API → DynamoDB
22
+
Este proyecto nació de una pregunta concreta: ¿cómo prueba un QA
23
+
un sistema que no responde de forma síncrona? La respuesta me llevó
24
+
a aprender sobre polling en SQS, timeouts configurables por el tipo
25
+
de latencia de AWS, y cómo leer logs de CloudWatch desde código
26
+
para entender qué pasó dentro de la función.
19
27
20
-
Si algo falla, va a una cola de errores (DLQ).
28
+
---
21
29
22
-
#Tecnologías que usé
30
+
## Arquitectura que se prueba
23
31
24
-
- Playwright y TypeScript para los tests
25
-
- AWS SDK v3 para conectar con AWS
26
-
- GitHub Actions para CI/CD
27
-
- Node.js 20
32
+
```
33
+
Usuario
34
+
│
35
+
▼
36
+
API Gateway ──────────────────────────────────────┐
37
+
│ │
38
+
▼ │
39
+
Cola SQS (ColaDeEsperaClima) │
40
+
│ │
41
+
▼ │
42
+
Función Lambda (ClimaLambda) │
43
+
│ │
44
+
├──► OpenWeather API (clima de la ciudad) │
45
+
│ │
46
+
├──► DynamoDB (guarda el resultado) │
47
+
│ │
48
+
└──► Cola SQS (ColaDeResultadoClima) │
49
+
│ │
50
+
▼ │
51
+
Si error ──────────────────────────────────┘
52
+
│
53
+
▼
54
+
DLQ (DLQClima) — cola de mensajes fallidos
55
+
```
28
56
29
-
Servicios AWS:
30
-
- Lambda
31
-
- API Gateway
32
-
- SQS
33
-
- DynamoDB
34
-
- CloudWatch
35
-
- S3
57
+
El flujo completo es asíncrono: mandas una ciudad a la API Gateway,
58
+
y el resultado del clima llega a otra cola SQS segundos después.
59
+
Probar esto requiere estrategias distintas a un test de API tradicional.
36
60
37
-
# Instalación
38
-
bash
61
+
---
62
+
63
+
## Qué se prueba y por qué cada componente importa
64
+
65
+
### API Gateway — la puerta de entrada
66
+
67
+
```typescript
68
+
// Verificar que la API Gateway acepta la request y la encola
0 commit comments