feat: add comprehensive testing infrastructure and security hardening

- Enhanced CI/CD pipeline with coverage reporting, benchmarks, and artifact uploads
- Implemented rate limiter IP validation with proxy support and spoofing protection
- Added extensive Makefile test targets for coverage, benchmarks, and continuous testing
- Expanded middleware chain with request validation, size limits, and suspicious activity logging
This commit is contained in:
juanatsap
2025-11-11 21:43:12 +00:00
parent 1f5aeb1c4c
commit 92dffe8c60
41 changed files with 8077 additions and 523 deletions
+69
View File
@@ -0,0 +1,69 @@
{
"personal": {
"name": "Test User",
"email": "test@example.com",
"phone": "+1234567890",
"location": "Test City, USA",
"website": "https://test.example.com",
"github": "https://github.com/testuser",
"linkedin": "https://linkedin.com/in/testuser",
"title": "Test Engineer",
"summary": "Test summary for unit testing purposes. This is a minimal valid CV structure.",
"image": "https://example.com/test-profile.jpg"
},
"experience": [
{
"company": "Test Company Inc.",
"position": "Senior Test Engineer",
"start_date": "2020-01-01",
"end_date": "",
"description": "Test description of responsibilities and achievements.",
"location": "Test Location, USA",
"technologies": ["Go", "HTMX", "Testing"]
},
{
"company": "Previous Test Corp",
"position": "Junior Test Engineer",
"start_date": "2018-06-01",
"end_date": "2019-12-31",
"description": "Earlier role description for testing.",
"location": "Test City, USA",
"technologies": ["JavaScript", "React"]
}
],
"education": [
{
"institution": "Test University",
"degree": "Bachelor of Science",
"field": "Computer Science",
"start_date": "2015-09-01",
"end_date": "2019-06-01",
"location": "Test University, USA",
"gpa": "3.8"
}
],
"skills": {
"technical": ["Go", "HTMX", "Testing", "CI/CD", "Docker"],
"languages": ["English", "Spanish"],
"frameworks": ["Hono-style routing", "net/http"],
"tools": ["Git", "Make", "VSCode"]
},
"projects": [
{
"name": "Test Project",
"description": "Sample project for testing purposes",
"technologies": ["Go", "HTMX"],
"url": "https://github.com/testuser/test-project",
"start_date": "2023-01-01",
"end_date": ""
}
],
"certifications": [
{
"name": "Test Certification",
"issuer": "Test Organization",
"date": "2022-03-15",
"url": "https://example.com/cert"
}
]
}
+53
View File
@@ -0,0 +1,53 @@
{
"personal": {
"name": "Usuario de Prueba",
"email": "prueba@ejemplo.com",
"phone": "+34123456789",
"location": "Ciudad de Prueba, España",
"website": "https://prueba.ejemplo.com",
"github": "https://github.com/usuarioprueba",
"linkedin": "https://linkedin.com/in/usuarioprueba",
"title": "Ingeniero de Pruebas",
"summary": "Resumen de prueba para propósitos de testing. Esta es una estructura mínima válida de CV.",
"image": "https://ejemplo.com/perfil-prueba.jpg"
},
"experience": [
{
"company": "Empresa de Prueba S.L.",
"position": "Ingeniero Senior de Pruebas",
"start_date": "2020-01-01",
"end_date": "",
"description": "Descripción de prueba de responsabilidades y logros.",
"location": "Madrid, España",
"technologies": ["Go", "HTMX", "Testing"]
}
],
"education": [
{
"institution": "Universidad de Prueba",
"degree": "Grado en Informática",
"field": "Ciencias de la Computación",
"start_date": "2015-09-01",
"end_date": "2019-06-01",
"location": "Madrid, España",
"gpa": "8.5"
}
],
"skills": {
"technical": ["Go", "HTMX", "Testing", "CI/CD", "Docker"],
"languages": ["Español", "Inglés"],
"frameworks": ["Enrutamiento estilo Hono", "net/http"],
"tools": ["Git", "Make", "VSCode"]
},
"projects": [
{
"name": "Proyecto de Prueba",
"description": "Proyecto de ejemplo para propósitos de testing",
"technologies": ["Go", "HTMX"],
"url": "https://github.com/usuarioprueba/proyecto-prueba",
"start_date": "2023-01-01",
"end_date": ""
}
],
"certifications": []
}
+35
View File
@@ -0,0 +1,35 @@
{
"language_name": "English",
"language_code": "en",
"sections": {
"experience": "Experience",
"education": "Education",
"skills": "Skills",
"projects": "Projects",
"certifications": "Certifications",
"about": "About"
},
"labels": {
"present": "Present",
"location": "Location",
"download_pdf": "Download PDF",
"view_on_github": "View on GitHub",
"email": "Email",
"phone": "Phone",
"website": "Website",
"technologies": "Technologies",
"tools": "Tools",
"languages": "Languages"
},
"actions": {
"print": "Print",
"download": "Download",
"share": "Share",
"close": "Close"
},
"messages": {
"loading": "Loading...",
"error": "Error loading data",
"not_found": "Page not found"
}
}
+35
View File
@@ -0,0 +1,35 @@
{
"language_name": "Español",
"language_code": "es",
"sections": {
"experience": "Experiencia",
"education": "Educación",
"skills": "Habilidades",
"projects": "Proyectos",
"certifications": "Certificaciones",
"about": "Acerca de"
},
"labels": {
"present": "Presente",
"location": "Ubicación",
"download_pdf": "Descargar PDF",
"view_on_github": "Ver en GitHub",
"email": "Correo",
"phone": "Teléfono",
"website": "Sitio web",
"technologies": "Tecnologías",
"tools": "Herramientas",
"languages": "Idiomas"
},
"actions": {
"print": "Imprimir",
"download": "Descargar",
"share": "Compartir",
"close": "Cerrar"
},
"messages": {
"loading": "Cargando...",
"error": "Error al cargar datos",
"not_found": "Página no encontrada"
}
}