# Validación de la versión para cPanel

Pruebas realizadas el 29 de septiembre de 2026 sobre una instancia **aislada** de MariaDB 10.4 y PHP 8.0.30. No se consultó ni modificó la base del antiguo `site/`. No se enviaron mensajes reales ni se llamó a Google durante estas pruebas.

- `tests/server.php`: importación SQL repetida, tres RH sin contraseña inicial, primer acceso por correo simulado, hash de contraseña, clave temporal de un solo uso, vencimiento y l?mite de cinco intentos, fallo SMTP y cifrado de cola.
- `tests/http.cjs`: cuentas con sesiones independientes, rechazo de permisos falsificados, CSRF y origen, vacantes públicas/archivadas, revisión concurrente, guardado de perfil, PDF real frente a archivo falsificado, acceso privado a archivos, postulación única y separación de notas de RH. Recorre revisión → continuación → entrevista → evaluación automática → contratación; prueba también reportes y respuestas.
- `tests/browser.cjs`: interfaz real en Chrome, navegación RH, vacantes, botones separados de perfil/gestión, documentos, notas, creación de vacantes, Google desconectado, perfil de aspirante y fotos conservadas tras recargar. Comprueba móvil y recuperación automática.
- `tests/calendar.php`: Google simulado, renovación de token, evento único, notas internas omitidas, rechazo durante una sincronización en curso y desconexión. No usa credenciales ni red de Google.
- Validación de sintaxis PHP y JavaScript. El paquete se genera por lista permitida, con manifiesto SHA-256; no contiene cuentas de prueba, configuración privada, registros, bases SQLite ni el antiguo `site/`.

Estas comprobaciones no sustituyen verificar el dominio HTTPS, el PHP definitivo, permisos del hosting, cron, correo real y autorización de Google después de configurar cPanel.

## Repetir localmente

Las pruebas esperan una instancia de MariaDB **exclusiva para pruebas**, en `127.0.0.1:3308`, con usuario `root` sin clave. No expongas ese puerto a la red. `tests/prepare.php` crea una base nueva de nombre aleatorio; nunca elimina bases. No ejecutes estos scripts contra producción.

```powershell
C:\xampp\php\php.exe tests/prepare.php
C:\xampp\php\php.exe tests/server.php
```

Sirve `public/` con PHP en `127.0.0.1:8123`, usando la variable `TALENTO_CONFIG` con la ruta absoluta de `tests/runtime/config.php`. Configura temporalmente `display_errors=0`, `upload_tmp_dir` con un directorio existente, `upload_max_filesize=50M` y `post_max_size=120M`. El SMTP de pruebas apunta a un puerto local cerrado; no es el remitente real.

```powershell
node tests/http.cjs
node tests/browser.cjs
C:\xampp\php\php.exe tests/calendar.php
```

La prueba de navegador requiere Chrome aislado con CDP en `127.0.0.1:9223`; usa exclusivamente un perfil de pruebas, pues elimina sus cookies. `tests/runtime/` contiene datos y capturas temporales y está excluido de la distribución. Para regenerar la distribución: `python tools/empaquetar.py`.
