Test Report

Started: 2026-10-25 15:45:24
Suites (7)
7 passed
0 failed
0 pending
Tests (60)
60 passed
0 failed
0 pending
Gateway - Health
GET /health returns success
passed
0.077s
Gateway - Auth (JWT injection)
GET /api/v1/auth/me with valid token returns user + organization
passed
0.084s
Gateway - Auth (JWT injection)
rejects request without token
passed
0.008s
Gateway - Auth (JWT injection)
rejects malformed token
passed
0.003s
Gateway - Auth (JWT injection)
rejects expired token
passed
0.006s
Gateway - Auth (JWT injection)
rejects forged token (bad signature)
passed
0.003s
Gateway - Auth providers (public)
GET /api/v1/auth/providers returns enabled providers without token
passed
0.006s
Gateway - Auth providers (public)
GET /api/v1/auth/oidc is 503 when SSO is not configured
passed
0.006s
Gateway - Organizations (config-service)
GET /api/v1/organizations returns the seeded organization
passed
0.03s
Gateway - Organizations (config-service)
POST /api/v1/organizations creates an organization
passed
0.053s
Gateway - Resources org-scoped
GET /api/v1/:orgId/workflows lists workflows
passed
0.021s
Gateway - Resources org-scoped
GET /api/v1/:orgId/knowledge-bases lists knowledge-bases
passed
0.016s
Gateway - Resources org-scoped
GET /api/v1/:orgId/external-apis lists external-apis
passed
0.008s
Gateway - Resources org-scoped
GET /api/v1/:orgId/agents lists agents
passed
0.019s
Gateway - Resources org-scoped
GET /api/v1/:orgId/crawlers lists crawlers
passed
0.022s
Gateway - Resources org-scoped
GET /api/v1/:orgId/jobs lists jobs
passed
0.057s
Gateway - Resources org-scoped
GET /api/v1/:orgId/schedules lists schedules
passed
0.017s
Gateway - Resources org-scoped
POST /api/v1/agents creates an agent without API key
passed
0.039s
Gateway - Resources org-scoped
POST /api/v1/knowledge-bases creates a knowledge base
passed
0.127s
Gateway - Resources org-scoped
POST /api/v1/workflows creates a workflow
passed
0.035s
Gateway - Resources org-scoped
GET /api/v1/organizations/:orgId/members lists members
passed
0.027s
Gateway - Upload multipart (workflow-service-api)
POST /api/v1/:orgId/upload transmet le fichier (multipart intact)
passed
0.05s
Gateway - Rôles owner (config-service)
PATCH /organizations/:orgId/members/:userId/role bloque la modification de son propre rôle
passed
0.019s
Gateway - Rôles owner (config-service)
PATCH /organizations/:orgId/members/:userId/role rejette un rôle invalide
passed
0.02s
Gateway - Rôles owner (config-service)
PATCH /organizations/:orgId/members/:userId/role refuse aux non-owners
passed
0.047s
Gateway - Rôles owner (config-service)
PATCH /organizations/:orgId/members/:userId/role : un owner peut promouvoir puis rétrograder un membre
passed
0.055s
Gateway - Auth extern (API key / config-id)
rejects unknown x-api-key
passed
0.017s
Gateway - Auth extern (API key / config-id)
rejects request with no auth method
passed
0.002s
Gateway - Legacy & services annexes
GET /api/v1/meilisearch/health proxies to Meilisearch
passed
0.006s
Gateway - Legacy & services annexes
POST /api/v1/webhooks/stripe is proxied (signature invalide → 400)
passed
0.006s
Gateway - Legacy & services annexes
POST /api/v1/external-apis creates an external API
passed
0.016s
Gateway - Error handling
returns 404 for unknown endpoint
passed
0.003s
Gateway - Error handling
rejects malformed JSON body
passed
0.008s
Activité — handoff MinIO
putJsonToMinio / readJsonFromMinio font un aller-retour
passed
0.023s
Activité — sendToExternalApi (webhook-sender-worker)
POSTe les items vers l’URL cible
passed
0.011s
Activité — writeAssertionsToKb (assertion-writer-worker)
envoie les assertions mappées vers la KB
passed
0.003s
Activité — writeDocumentsToKb (data-writer-worker)
envoie les documents mappés vers la KB data
passed
0.003s
Activité — refineAssertions / refineData (refiner workers)
refineAssertions écrit le résultat dans MinIO et retourne la clé
passed
0.189s
Activité — refineAssertions / refineData (refiner workers)
refineData écrit le résultat dans MinIO et retourne la clé
passed
0.02s
Crawler E2E (fetch + LLM mockés)
démarre un crawl
passed
0.143s
Crawler E2E (fetch + LLM mockés)
le crawl atteint un état terminal `completed`
passed
22.236s
Crawler — scope par organisation (path, claim JWT ignoré)
renvoie les crawlers de l’organisation de l’URL
passed
0.013s
Crawler — scope par organisation (path, claim JWT ignoré)
un claim organizationId forgé n’affecte pas le scope
passed
0.011s
Crawler — scope par organisation (path, claim JWT ignoré)
ne renvoie pas les crawlers d’une autre organisation que l’URL
passed
0.01s
Activité — cleanupCrawlData (Redis réel, non-régression NXT-009)
supprime toutes les clés crawler:<jobId>:* et retourne deleted > 0
passed
0.042s
Activité — waitForExtractionJob (job-manager mocké)
job inexistant → { status: not_found, success: false }, sans exception
passed
0.005s
Activité — waitForExtractionJob (job-manager mocké)
job terminé → completed + contentUrl réécrite vers MinIO interne
passed
0.003s
Extract — chemin crawler (destination avec prompt vide)
accepte une destination d'assertions avec prompt:'' (cas réel du crawler)
passed
0.075s
Extract — chemin crawler (destination avec prompt vide)
accepte aussi un prompt renseigné (non-régression)
passed
0.105s
Extract — chemin crawler (destination avec prompt vide)
rejette une destination de type inconnu
passed
0.017s
Extract — chemin crawler (destination avec prompt vide)
idempotence : même idempotencyKey → même jobId (dédup des déclenchements)
passed
0.221s
Extract — chemin crawler (destination avec prompt vide)
non-régression : sans idempotencyKey, deux jobId distincts
passed
0.209s
knowledge-base internal routes — HMAC + contrôle organisation
rejects assertions/batch without x-internal-token (401)
passed
0.003s
knowledge-base internal routes — HMAC + contrôle organisation
rejects assertions/batch with an invalid token (401)
passed
0.003s
knowledge-base internal routes — HMAC + contrôle organisation
rejects a mismatched organization with a valid token (403)
passed
0.007s
knowledge-base internal routes — HMAC + contrôle organisation
resolves the KB for the correct organization with a valid token (200)
passed
0.005s
job-manager internal pool/add — HMAC
rejects a request without x-internal-token (401)
passed
0.004s
job-manager internal pool/add — HMAC
rejects a request with an invalid token (401)
passed
0.003s
job-manager internal pool/add — HMAC
accepts a valid HMAC token (auth passed → 400 business validation)
passed
0.003s
job-manager internal pool/add — HMAC
removed the public /pool/add route (404)
passed
0.005s