Files
annu-kute-ced/tests/php/bootstrap.php
T

35 lines
1.5 KiB
PHP

<?php
/**
* Bootstrap des tests unitaires PHP.
*
* Définit des constantes de test puis charge les includes du projet
* SANS aucun appel réseau : PEERTUBE_URL pointe volontairement sur
* 127.0.0.1, ce qui fait échouer isValidPeerTubeUrl() et court-circuite
* callPeerTubeApiOriginal() (retour [] immédiat, jamais de cURL). De ce
* fait, getPeertubeCategories() — chargement paresseux des catégories —
* retourne un tableau vide si un test l'appelle.
*
* Les constantes sont définies AVANT le chargement de config.php pour
* primer sur les valeurs de config.default.php (protégées par !defined()).
*/
define('APP_HOST_NAME', 'test.local');
define('SITE_NAME', 'Site de test');
define('CSRF_SECRET', 'secret-csrf-pour-tests-unitaires');
define('PEERTUBE_URL', 'http://127.0.0.1'); // URL privée volontaire : bloque tout appel API réel
define('CACHE_ENABLED', true);
define('CACHE_DURATION', 3600);
define('DEFAULT_TIMEZONE', 'UTC');
// Ne pas polluer la sortie des tests avec les error_log() de sécurité
// (ex. "Invalid PeerTube URL", attendu avec l'URL factice ci-dessus)
ini_set('error_log', sys_get_temp_dir() . '/annu-kute-tests-errors.log');
$includes_dir = dirname(__DIR__, 2) . '/includes';
require_once $includes_dir . '/security.php';
require_once $includes_dir . '/simple-cache.php';
require_once $includes_dir . '/lib/markdown.php';
require_once $includes_dir . '/structured-data.php';
require_once $includes_dir . '/config.php'; // bootstrap (charge les modules de includes/lib/)