Suite complète de tests pour valider tous les exemples de code de la documentation API LLMaaS.
Garantir que 100% des exemples de code dans docs/llmaas/api.md fonctionnent correctement avec l'infrastructure LLMaaS réelle.
RÉSULTAT : 21/21 tests réussis (100%)
- ✅ Python Basic (
test_python_basic.py) - Requests, gestion d'erreurs - ✅ Python Streaming (
test_python_streaming.py) - SSE parsing complet - ✅ JavaScript Node.js (
test_javascript_node.js) - Axios, streaming - ✅ Tutorials Complets (
test_tutorials_complete.py) - 6/6 intégrations validées - ✅ Tutorials Intégrations (
test_tutorials_integrations.py) - LangChain, frameworks IA
- 🔧 Python SDK (
test_python_sdk.py) - OpenAI SDK, LangChain - 🎵 Audio Transcription (
test_audio_transcription.py) - Whisper endpoints
cd tests/llmaas
python run_all_tests.py# Python requests de base
python test_python_basic.py
# Streaming SSE
python test_python_streaming.py
# JavaScript Node.js
node test_javascript_node.js
# SDK Python (nécessite openai, langchain)
python test_python_sdk.py
# Audio transcription
python test_audio_transcription.pyexport LLMAAS_API_KEY="votre-token-api-reel"Si non configuré, utilise test-token-for-docs (pour tests d'erreurs uniquement).
pip install requests
pip install openai # Pour SDK tests
pip install langchain langchain-openai # Pour LangChain testsyarn add axios| Catégorie | Seuil | Critère |
|---|---|---|
| Excellent | ≥80% | Documentation entièrement validée |
| Bon | ≥60% | Documentation largement validée |
| Partiel | ≥40% | Révisions nécessaires |
| Insuffisant | <40% | Documentation à revoir |
- ✅
/v1/models- Liste des modèles - ✅
/v1/chat/completions- Chat basique - ✅ Gestion erreur 404 (modèle inexistant)
- ✅ Gestion erreur 401 (auth invalide)
- ✅ Headers SSE (
text/event-stream) - ✅ Parsing
data: {JSON}ligne par ligne - ✅ Signal
[DONE]de fin - ✅ Gestion
finish_reason: stop - ✅ Interruption de stream
- ✅ Axios POST avec JSON
- ✅ Gestion erreurs HTTP
- ✅ Streaming SSE avec responseType: 'stream'
- ✅ Parsing Buffer en lignes
- ✅ Validation structure réponses
- ✅ OpenAI SDK avec
base_urlcustom - ✅ Streaming avec OpenAI SDK
- ✅ LangChain OpenAI integration
- ✅ LangChain ChatOpenAI
⚠️ Tests non-bloquants si modules absents
- ✅ LangChain Wrapper - Custom CloudTempleLLM class
- ✅ SDK OpenAI - Compatibilité transparente
- ✅ Outils Personnalisés - Calculator et validation
- ✅ Streaming SSE - Parsing chunks temps réel
- ✅ Templates Prompts - Formatage et variables
- ✅ Gestion Erreurs - Structure détail/error
- ✅ Rate Limiting - Simulation requêtes multiples
- ✅ Génération fichier WAV test
- ✅ Upload multipart/form-data
- ✅ Formats: json, text, srt, vtt
- ✅ Gestion fichier invalide
⚠️ Tests 404 = succès (feature optionnelle)
GET /v1/models- ✅ Retourne 36+ modèlesPOST /v1/chat/completions- ✅ Format OpenAI standardPOST /v1/completions- ✅ Format chat (selon doc)POST /v1/audio/transcriptions-⚠️ Optionnel
- Structure JSON OpenAI-compatible
- Headers rate limiting
- Messages d'erreur standardisés
- Streaming SSE correct
0- Tous tests critiques passent (≥60% succès)1- Tests critiques échouent (<60% succès)
0- Tous tests de la suite passent1- Au moins un test critique échoue
Les tests affichent :
- Status codes HTTP réels
- Headers de réponse
- Contenu des erreurs
- Métriques de performance
- Structure JSON détaillée
- name: Test LLMaaS Documentation
run: |
cd tests/llmaas
python run_all_tests.py
env:
LLMAAS_API_KEY: ${{ secrets.LLMAAS_API_KEY }}#!/bin/bash
cd tests/llmaas
python run_all_tests.py
if [ $? -ne 0 ]; then
echo "❌ Tests LLMaaS échouent - commit bloqué"
exit 1
fiImportError: No module named 'requests'
pip install requestsNode.js script fails
yarn add axios
node --version # Vérifier Node.js installéRate Limit Errors
- Vérifier token API valide
- Attendre 60s entre tests massifs
- Utiliser tier approprié
Timeout Errors
- Vérifier connectivité réseau
- API peut être sous charge
- Réessayer individuellement
# Mode verbose Python
python -v test_python_basic.py
# Debug Node.js
node --inspect test_javascript_node.js- v1.0 - Tests Python requests + streaming
- v1.1 - Ajout JavaScript/Node.js
- v1.2 - Intégration SDK Python
- v1.3 - Tests audio transcription
- v1.4 - Runner orchestrateur complet
- Tests curl directs
- Tests navigateur (fetch API)
- Validation rate limiting réel
- Tests de charge
- Monitoring continu
Ces tests garantissent que la documentation API LLMaaS est toujours synchronisée avec l'infrastructure réelle.