=== Middleware - Tests === Cible de test: halpades Exécution de tests halpades... --- Api msexchange batch --- Fichier: test_api_msexchange_batch.php === Test api_msexchange_get_calendar_batch() - Halpades === Configuration chargée ✅ • Base URL : https://graph.microsoft.com/v1.0 • Tenant ID : d9b8d0d8-0165-49b0-88dc-a25c9d3a38c9 • Client ID : 97137ef5-148d-4cc2-9e77-2f34e8fcb048 Boîtes de ressources configurées (4) : 1. GG-446-PI@halpades.fr 2. GG-55-PP@halpades.fr 3. GG-598-PR@halpades.fr 4. HD-388-RX@halpades.fr Paramètres de recherche : • Date début : 2025-09-30 • Date fin : 2025-11-06 • Limite : 100 événements par boîte ═══════════════════════════════════════════════════════════════ Appel api_msexchange_get_calendar_batch() ═══════════════════════════════════════════════════════════════ Temps de réponse : 2393.39ms Statut : success Source : api ┌────────────────────────────────────────┬────────┬────────────┐ │ Boîte de ressource │ Statut │ Événements │ ├────────────────────────────────────────┼────────┼────────────┤ │ GG-598-PR@halpades.fr │ ✅ │ 1 │ │ HD-388-RX@halpades.fr │ ✅ │ 1 │ │ GG-446-PI@halpades.fr │ ✅ │ 1 │ │ GG-55-PP@halpades.fr │ ❌ │ 0 │ └────────────────────────────────────────┴────────┴────────────┘ 📊 Résumé : • Total événements : 3 • Boîtes accessibles : 3/4 • Boîtes en erreur : 1 • Temps de réponse : 2393.39ms ═══════════════════════════════════════════════════════════════ ÉVÉNEMENTS TROUVÉS ═══════════════════════════════════════════════════════════════ 📧 Boîte : GG-598-PR@halpades.fr ─────────────────────────────────────────────────────────────── Événement 1 : 📝 Sujet : Stéphane Leblanc 🕒 Début : 2025-10-09 14:00:00 🕒 Fin : 2025-10-09 15:00:00 👤 Organisateur : Stéphane Leblanc (sleblanc@halpades.fr) 📍 Location : GG-598-PR ⚠️ Annulé : Non 🔑 Transaction ID : null 👥 Participants (2) : - Stéphane Leblanc (sleblanc@halpades.fr) - none - GG-598-PR (GG-598-PR@halpades.fr) - accepted 📧 Boîte : HD-388-RX@halpades.fr ─────────────────────────────────────────────────────────────── Événement 2 : 📝 Sujet : Stéphane Leblanc 🕒 Début : 2025-10-10 07:00:00 🕒 Fin : 2025-10-10 08:00:00 👤 Organisateur : Stéphane Leblanc (sleblanc@halpades.fr) 📍 Location : HD-388-RX ⚠️ Annulé : Non 🔑 Transaction ID : null 👥 Participants (2) : - Stéphane Leblanc (sleblanc@halpades.fr) - none - HD-388-RX (HD-388-RX@halpades.fr) - accepted 📧 Boîte : GG-446-PI@halpades.fr ─────────────────────────────────────────────────────────────── Événement 3 : 📝 Sujet : Stéphane Leblanc 🕒 Début : 2025-10-07 12:00:00 🕒 Fin : 2025-10-07 13:00:00 👤 Organisateur : Stéphane Leblanc (sleblanc@halpades.fr) 📍 Location : GG-446-PI ⚠️ Annulé : Non 🔑 Transaction ID : null 👥 Participants (2) : - Stéphane Leblanc (sleblanc@halpades.fr) - none - GG-446-PI (GG-446-PI@halpades.fr) - accepted ═══════════════════════════════════════════════════════════════ ERREURS DÉTECTÉES ═══════════════════════════════════════════════════════════════ ❌ Boîte : GG-55-PP@halpades.fr Code HTTP : 404 Erreur : The requested user 'GG-55-PP@halpades.fr' is invalid. ═══════════════════════════════════════════════════════════════ TEST MAPPING VÉHICULES ═══════════════════════════════════════════════════════════════ api_msexchange_get_resource_vehicle_mapping: No mapping configured for client halpades ℹ️ Aucun mapping véhicule configuré Pour activer le mapping, ajouter dans halpades.cfg : resource_vehicle_mapping=smartlockers1@halpades.fr:VEH_001,smartlockers2@halpades.fr:VEH_002,... ═══════════════════════════════════════════════════════════════ RECOMMANDATIONS ═══════════════════════════════════════════════════════════════ ⚠️ ATTENTION : Certaines boîtes ne sont pas accessibles Vérifier les permissions et l'existence des boîtes ═══════════════════════════════════════════════════════════════ Test terminé - 2025-10-07 09:12:42 ═══════════════════════════════════════════════════════════════ --- Extract plate --- Fichier: test_extract_plate.php === Test Halpades : Extraction Plaque depuis Email Ressource === Exécution de 14 tests... Test #1 : Email ressource production #1 Input : 'GG-446-PI@halpades.fr' Attendu : 'GG-446-PI' Résultat : 'GG-446-PI' ✅ PASS Test #2 : Email ressource production #2 Input : 'GG-55-PP@halpades.fr' Attendu : 'GG-55-PP' Résultat : 'GG-55-PP' ✅ PASS Test #3 : Email ressource production #3 Input : 'GG-598-PR@halpades.fr' Attendu : 'GG-598-PR' Résultat : 'GG-598-PR' ✅ PASS Test #4 : Email ressource production #4 Input : 'HD-388-RX@halpades.fr' Attendu : 'HD-388-RX' Résultat : 'HD-388-RX' ✅ PASS Test #5 : Email ressource standard avec plaque française Input : 'GG-585-VT@halpades.fr' Attendu : 'GG-585-VT' Résultat : 'GG-585-VT' ✅ PASS Test #6 : Email ressource avec autre format de plaque Input : 'AB-123-CD@halpades.fr' Attendu : 'AB-123-CD' Résultat : 'AB-123-CD' ✅ PASS Test #7 : Email ressource avec identifiant alphanumérique Input : 'VEHICULE-01@halpades.fr' Attendu : 'VEHICULE-01' Résultat : 'VEHICULE-01' ✅ PASS Test #8 : Email ressource simple Input : 'TEST@halpades.fr' Attendu : 'TEST' Résultat : 'TEST' ✅ PASS Test #9 : Email avec espaces (doit être trimé) Input : ' XY-789-ZZ@halpades.fr ' Attendu : 'XY-789-ZZ' Résultat : 'XY-789-ZZ' ✅ PASS Test #10 : Email vide Input : (chaîne vide) Attendu : null Résultat : null ✅ PASS Test #11 : Email sans partie avant @ Input : '@halpades.fr' Attendu : null Résultat : null ✅ PASS Test #12 : Email sans @ Input : 'invalide' Attendu : null Résultat : null ✅ PASS Test #13 : Email avec plusieurs @ Input : 'test@domain1@domain2' Attendu : null Résultat : null ✅ PASS Test #14 : Email avec uniquement espaces avant @ Input : ' @halpades.fr' Attendu : null Résultat : null ✅ PASS === Résultats des Tests === Total : 14 tests ✅ Réussis : 14 ❌ Échoués : 0 Taux de réussite : 100% 🎉 TOUS LES TESTS ONT RÉUSSI ! --- Halpades batch request --- Fichier: test_halpades_batch_request.php === Test Halpades : Batch Request (optimisé) === Configuration chargée ✅ • Tenant ID : d9b8d0d8-0165-49b0-88dc-a25c9d3a38c9 • Client ID : 97137ef5-148d-4cc2-9e77-2f34e8fcb048 --- Authentification OAuth2 --- ✅ Authentification réussie • Token obtenu Paramètres de test : • Nombre de boîtes : 4 • Période : 2025-09-30 → 2025-11-06 --- Construction du Batch Request --- Nombre de sous-requêtes : 4 Taille du payload : 1230 octets --- Exécution du Batch Request --- URL : POST https://graph.microsoft.com/v1.0/$batch Code HTTP : 200 Temps de réponse : 463.31ms ✅ Batch Request réussi --- Résultats par boîte --- 📧 Boîte 3 : smartlockers3@halpades.fr Statut HTTP : 200 ✅ Événements : 1 Aperçu des événements : • Benoit DECARROZ - 2025-10-07T06:00:00.0000000 → 2025-10-07T10:00:00.0000000 Organisateur : Benoit DECARROZ 📧 Boîte 1 : smartlockers1@halpades.fr Statut HTTP : 200 ✅ Événements : 3 Aperçu des événements : • Stéphane Leblanc - 2025-10-01T12:00:00.0000000 → 2025-10-01T13:00:00.0000000 Organisateur : Stéphane Leblanc • Benoit DECARROZ - 2025-10-03T15:30:00.0000000 → 2025-10-03T16:00:00.0000000 Organisateur : Benoit DECARROZ • Benoit DECARROZ - 2025-10-07T06:00:00.0000000 → 2025-10-07T10:00:00.0000000 Organisateur : Benoit DECARROZ 📧 Boîte 2 : smartlockers2@halpades.fr Statut HTTP : 200 ✅ Événements : 2 Aperçu des événements : • Benoit DECARROZ - 2025-10-07T06:00:00.0000000 → 2025-10-07T10:00:00.0000000 Organisateur : Benoit DECARROZ • Benoit DECARROZ - 2025-10-10T00:00:00.0000000 → 2025-10-11T00:00:00.0000000 Organisateur : Benoit DECARROZ 📧 Boîte 4 : smartlockers4@halpades.fr Statut HTTP : 200 ✅ Événements : 1 Aperçu des événements : • Benoit DECARROZ - 2025-10-07T06:00:00.0000000 → 2025-10-07T10:00:00.0000000 Organisateur : Benoit DECARROZ === Statistiques Batch Request === 📊 Résumé : • Sous-requêtes exécutées : 4 • Sous-requêtes réussies : 4 • Sous-requêtes en erreur : 0 • Total événements : 7 • Temps total : 463.31ms • Temps moyen par boîte : 115.83ms • Appels HTTP : 1 (au lieu de 4) ✅ SUCCÈS TOTAL : Toutes les boîtes sont accessibles 💡 OPTIMISATION : • Batch Request = 1 appel HTTP • Appels séquentiels = 4 appels HTTP • Gain : Réduction de 3 appels réseau === Fin du test === --- Halpades calendarview --- Fichier: test_halpades_calendarview.php === Test Halpades : calendarView vs events === Configuration chargée ✅ • Tenant ID : d9b8d0d8-0165-49b0-88dc-a25c9d3a38c9 • Client ID : 97137ef5-148d-4cc2-9e77-2f34e8fcb048 --- Authentification OAuth2 --- ✅ Authentification réussie • Token obtenu Paramètres de test : • Boîte de ressource : smartlockers1@halpades.fr • Période : 2025-09-30 → 2025-11-06 --- Test 1 : /users/{email}/calendarView --- Requête : GET https://graph.microsoft.com/v1.0/users/smartlockers1@halpades.fr/calendarView?startDateTime=2025-09-30T00%3A00%3A00Z&endDateTime=2025-11-06T23%3A59%3A59Z&%24select=id%2Csubject%2Corganizer%2Cattendees%2Cstart%2Cend%2CisCancelled%2CtransactionId%2Clocation&%24orderby=start%2FdateTime+asc&%24top=100 Code HTTP : 200 Temps de réponse : 199.57ms ✅ Événements trouvés : 3 Exemple d'événement : • Sujet : Stéphane Leblanc • Début : 2025-10-01T12:00:00.0000000 • Fin : 2025-10-01T13:00:00.0000000 --- Test 2 : /users/{email}/events --- Requête : GET https://graph.microsoft.com/v1.0/users/smartlockers1@halpades.fr/events?%24select=id%2Csubject%2Corganizer%2Cattendees%2Cstart%2Cend%2CisCancelled%2CtransactionId%2Clocation&%24orderby=start%2FdateTime+asc&%24top=100 Code HTTP : 200 Temps de réponse : 202.65ms ✅ Événements trouvés : 3 --- Comparaison --- calendarView : 3 événements en 199.57ms events : 3 événements en 202.65ms ✅ RECOMMANDATION : Utiliser calendarView avec startDateTime/endDateTime pour filtrer les événements sur une plage temporelle spécifique. === Fin du test === --- Halpades four mailboxes --- Fichier: test_halpades_four_mailboxes.php === Test Halpades : 4 boîtes de ressources === Configuration chargée ✅ • Tenant ID : d9b8d0d8-0165-49b0-88dc-a25c9d3a38c9 • Client ID : 97137ef5-148d-4cc2-9e77-2f34e8fcb048 --- Authentification OAuth2 --- ✅ Authentification réussie • Token obtenu Paramètres de test : • Nombre de boîtes : 4 • Période : 2025-09-30 → 2025-11-06 --- Boîte 1 : GG-446-PI@halpades.fr --- Code HTTP : 200 Temps de réponse : 445.63ms ✅ Événements trouvés : 1 📧 Aperçu des événements : • Stéphane Leblanc - 2025-10-07T12:00:00.0000000 → 2025-10-07T13:00:00.0000000 Organisateur : Stéphane Leblanc --- Boîte 2 : GG-55-PP@halpades.fr --- Code HTTP : 404 Temps de réponse : 816.9ms ❌ ÉCHEC Erreur : The requested user 'GG-55-PP@halpades.fr' is invalid. --- Boîte 3 : GG-598-PR@halpades.fr --- Code HTTP : 200 Temps de réponse : 160.78ms ✅ Événements trouvés : 1 📧 Aperçu des événements : • Stéphane Leblanc - 2025-10-09T14:00:00.0000000 → 2025-10-09T15:00:00.0000000 Organisateur : Stéphane Leblanc --- Boîte 4 : HD-388-RX@halpades.fr --- Code HTTP : 200 Temps de réponse : 207.94ms ✅ Événements trouvés : 1 📧 Aperçu des événements : • Stéphane Leblanc - 2025-10-10T07:00:00.0000000 → 2025-10-10T08:00:00.0000000 Organisateur : Stéphane Leblanc === Statistiques globales === 📊 Résumé : • Boîtes testées : 4 • Boîtes accessibles : 3 • Boîtes en erreur : 1 • Total événements : 3 • Temps total : 1631.25ms • Temps moyen par boîte : 407.81ms ⚠️ SUCCÈS PARTIEL : 3/4 boîtes accessibles 💡 Note : Pour optimiser les performances, utiliser Batch Request (1 seul appel HTTP au lieu de 4) === Fin du test === === Résumé final === Durée totale: 6065.42ms Tests passés: 2 Tests échoués: 3 Nombre d'erreurs: 3 ❌ Erreurs détectées: - Erreur dans test_api_msexchange_batch.php: 2 échecs détectés - Erreur dans test_extract_plate.php: 1 échecs détectés - Erreur dans test_halpades_four_mailboxes.php: 1 échecs détectés