Fileshed/docs/audits/fileshed/reports/Exec_tests.md
Fade78 5a617330d6 Bump version to 1.0.4
- Update version in Fileshed.py
- Update README badges (version + tests count 1195)
- Update Exec_tests.md version

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:44:59 +01:00

60 KiB

Fileshed Test Execution Report

Version: 1.0.4 Tests executed: 1195/1195 Result: ALL PASSED Duration: 42.63s


# Status Description
TEST-001 Liste simple du répertoire racine Storage
TEST-002 Liste détaillée avec -la
TEST-003 Liste d'un sous-dossier
TEST-004 Liste avec tri par taille
TEST-005 Liste avec tri par date
TEST-006 Liste récursive
TEST-007 Liste avec taille human-readable
TEST-008 Liste zone uploads
TEST-009 Liste zone documents
TEST-010 Liste zone group
TEST-011 Liste fichiers cachés uniquement
TEST-012 Liste avec inode
TEST-013 Liste un fichier spécifique
TEST-014 Liste avec glob pattern
TEST-015 Liste fichier inexistant
TEST-016 Liste avec -1 (un par ligne)
TEST-017 Liste avec -A (sans . et ..)
TEST-018 Liste zone invalide
TEST-019 Liste group sans paramètre group
TEST-020 Liste avec chemin absolu (bloqué)
TEST-021 Lecture fichier simple
TEST-022 Lecture avec numéros de ligne
TEST-023 Lecture fichier inexistant
TEST-024 Lecture multiple fichiers
TEST-025 Lecture zone uploads
TEST-026 Lecture zone documents
TEST-027 Lecture avec -b (numéros lignes non vides)
TEST-028 Lecture avec -s (squeeze blank)
TEST-029 Lecture avec -E ($ en fin de ligne)
TEST-030 Lecture fichier binaire (affichage tronqué)
TEST-031 Lecture fichier vide
TEST-032 Lecture fichier volumineux
TEST-033 Lecture avec path traversal (bloqué)
TEST-034 Lecture fichier dans sous-dossier
TEST-035 Lecture avec tac (reverse)
TEST-036 Head par défaut (10 lignes)
TEST-037 Head avec -n spécifique
TEST-038 Head avec -c (bytes)
TEST-039 Tail par défaut (10 lignes)
TEST-040 Tail avec -n spécifique
TEST-041 Tail avec +n (depuis ligne n)
TEST-042 Tail avec -c (bytes)
TEST-043 Head fichier vide
TEST-044 Tail fichier vide
TEST-045 Head multiple fichiers
TEST-046 Tail zone uploads
TEST-047 Head zone documents
TEST-048 Extraction lignes milieu avec sed
TEST-049 Head avec -q (quiet, pas de header)
TEST-050 Tail fichier inexistant
TEST-051 Grep pattern simple
TEST-052 Grep case insensitive
TEST-053 Grep avec numéros de ligne
TEST-054 Grep récursif
TEST-055 Grep avec contexte (-C)
TEST-056 Grep inverse (-v)
TEST-057 Grep count only (-c)
TEST-058 Grep files only (-l)
TEST-059 Grep regex étendu
TEST-060 Grep whole word (-w)
TEST-061 Egrep (alias grep -E)
TEST-062 Fgrep (fixed strings)
TEST-063 Grep avec --include
TEST-064 Grep avec --exclude
TEST-065 Grep aucun match
TEST-066 Find fichiers par pattern
TEST-067 Find fichiers par nom
TEST-068 Find par type (fichiers)
TEST-069 Find par type (dossiers)
TEST-070 Find avec -maxdepth
TEST-071 Awk print colonne
TEST-072 Awk avec délimiteur
TEST-073 Awk calcul
TEST-074 Awk filtrage regex
TEST-075 Awk NR (numéro ligne)
TEST-076 Sed substitution simple
TEST-077 Sed substitution globale
TEST-078 Sed delete ligne
TEST-079 Sed range de lignes
TEST-080 Sed avec regex
TEST-081 Sed insert ligne
TEST-082 Sed append ligne
TEST-083 Awk multiple colonnes
TEST-084 Sed multiple commandes
TEST-085 Awk BEGIN/END
TEST-086 Word count (wc)
TEST-087 Word count lignes seulement
TEST-088 Sort alphabétique
TEST-089 Sort numérique
TEST-090 Sort reverse
TEST-091 Uniq (supprimer doublons consécutifs)
TEST-092 Uniq avec count
TEST-093 Cut colonnes
TEST-094 Tr translate
TEST-095 Rev (reverse lines)
TEST-096 Nl (number lines)
TEST-097 Format text paragraphs
TEST-098 Fold (wrap lines)
TEST-099 Fmt (format paragraphes)
TEST-100 Paste (merge files)
TEST-101 Créer dossier simple
TEST-102 Créer arborescence (-p)
TEST-103 mkdir dossier existant (erreur)
TEST-104 mkdir -p dossier existant (ok)
TEST-105 mkdir zone documents
TEST-106 mkdir zone uploads (interdit)
TEST-107 touch créer fichier
TEST-108 touch fichier existant (update time)
TEST-109 touch multiple fichiers
TEST-110 touch dans sous-dossier
TEST-111 touch zone documents
TEST-112 touch zone group
TEST-113 mkdir avec verbose (-v)
TEST-114 touch avec timestamp spécifique
TEST-115 mkdir chemin avec espaces
TEST-116 Copie fichier simple
TEST-117 Copie dans dossier
TEST-118 Copie récursive
TEST-119 Copie avec préservation (-p)
TEST-120 Copie multiple fichiers
TEST-121 Move fichier
TEST-122 Move dans dossier
TEST-123 Move dossier
TEST-124 Remove fichier
TEST-125 Remove multiple fichiers
TEST-126 Remove dossier vide
TEST-127 Remove récursif
TEST-128 Remove avec force (-f)
TEST-129 Remove fichier inexistant (erreur)
TEST-130 cp zone documents
TEST-131 mv zone documents
TEST-132 rm zone documents
TEST-133 cp zone group
TEST-134 mv avec verbose (-v)
TEST-135 cp avec interactive (-i) - non interactif
TEST-136 rm dossier non vide sans -r (erreur)
TEST-137 cp avec backup (-b)
TEST-138 mv fichier vers lui-même
TEST-139 cp lien symbolique
TEST-140 rm avec glob pattern
TEST-141 Gzip compression
TEST-142 Gunzip décompression
TEST-143 Gzip keep original (-k)
TEST-144 Bzip2 compression
TEST-145 Bunzip2 décompression
TEST-146 Xz compression
TEST-147 Unxz décompression
TEST-148 Tar création archive
TEST-149 Tar extraction
TEST-150 Tar avec gzip (.tar.gz)
TEST-151 Tar extraction .tar.gz
TEST-152 Tar list contents
TEST-153 Zcat lecture compressé
TEST-154 Compression zone documents
TEST-155 Zstd compression - unavailable command
TEST-156 Git status
TEST-157 Git log
TEST-158 Git diff
TEST-159 Git diff HEAD~1
TEST-160 Git show
TEST-161 Git branch list
TEST-162 Git rev-parse HEAD
TEST-163 Git log graph
TEST-164 Git blame
TEST-165 Git log fichier spécifique
TEST-166 Git zone group
TEST-167 Git shortlog
TEST-168 Git ls-files
TEST-169 Git zone storage (pas de repo auto)
TEST-170 Git stash (si supported)
TEST-171 Redirection simple
TEST-172 jq avec redirection
TEST-173 grep avec redirection
TEST-174 sort avec redirection
TEST-175 awk avec redirection
TEST-176 cat avec redirection (copie)
TEST-177 Redirection zone documents
TEST-178 Redirection écrase fichier existant
TEST-179 Redirection dans sous-dossier
TEST-180 stderr_file redirection
TEST-181 Créer fichier texte simple
TEST-182 Créer fichier dans sous-dossier
TEST-183 Créer fichier multiligne
TEST-184 Créer fichier vide
TEST-185 Créer fichier zone documents
TEST-186 Créer fichier zone documents avec message
TEST-187 Create file in group zone
TEST-188 Créer fichier avec caractères spéciaux
TEST-189 Créer fichier avec emoji
TEST-190 Créer fichier JSON
TEST-191 Créer fichier YAML
TEST-192 Créer fichier avec tabs
TEST-193 Créer fichier zone uploads (interdit)
TEST-194 Créer avec path traversal (bloqué)
TEST-195 Créer fichier volumineux
TEST-196 Créer fichier nom avec espaces
TEST-197 Créer fichier nom avec caractères spéciaux
TEST-198 Écraser fichier existant
TEST-199 Append to existing file with overwrite=False
TEST-200 Créer fichier groupe sans paramètre group
TEST-201 Append à la fin
TEST-202 Prepend au début
TEST-203 Append multiple fois
TEST-204 Insert avant ligne spécifique
TEST-205 Insert après ligne spécifique
TEST-206 Insert ligne 1
TEST-207 Insert ligne invalide (0)
TEST-208 Insert ligne > nombre de lignes
TEST-209 Append zone documents
TEST-210 Append zone group
TEST-211 Insert avec message git
TEST-212 Append fichier inexistant
TEST-213 Prepend fichier vide
TEST-214 Append avec newline final
TEST-215 Insert multiligne
TEST-216 Append caractères binaires (peut échouer)
TEST-217 Insert très long contenu
TEST-218 Create new file in group where user is member
TEST-219 Create file named locked.txt (no actual lock)
TEST-220 Position invalide
TEST-221 Replace pattern simple
TEST-222 Replace pattern regex
TEST-223 Replace pattern non trouvé
TEST-224 Replace all occurrences with match_all=True
TEST-225 Replace first occurrence only (no match_all)
TEST-226 Replace with capture groups
TEST-227 Replace multiline pattern (line1 followed by line2)
TEST-228 Replace zone documents
TEST-229 Replace zone group
TEST-230 Replace avec message git
TEST-231 Replace pattern vide (invalide)
TEST-232 Replace avec caractères spéciaux regex
TEST-233 Replace case sensitive
TEST-234 Replace sur fichier binaire (échec)
TEST-235 Replace pattern avec newlines
TEST-236 Replace URL dans fichier
TEST-237 Replace avec quotes
TEST-238 Replace pattern regex complexe
TEST-239 Replace fichier entier via pattern .*
TEST-240 Replace par chaîne vide (suppression)
TEST-241 Path commençant par zone (erreur)
TEST-242 Path avec double slash
TEST-243 Path avec ./
TEST-244 Fichier très long nom
TEST-245 Content None
TEST-246 Zone vide
TEST-247 Path vide
TEST-248 Création dans dossier inexistant (auto-création du parent)
TEST-249 Écrire sur un dossier
TEST-250 Group inexistant
TEST-251 Fichier trop grand (limite 50MB dépassée)
TEST-252 Fichier symlink
TEST-253 Replace sans pattern
TEST-254 Line sans position insert (paramètre ignoré)
TEST-255 Position before sans line
TEST-256 Écriture concurrent (autre session)
TEST-257 Caractères de contrôle dans contenu
TEST-258 BOM UTF-8 dans contenu
TEST-259 Très grande ligne (pas de newlines)
TEST-260 Replace_all sans occurrences (match_all=True)
TEST-261 Écrire bytes simples (base64)
TEST-262 Écrire image binaire (1x1 PNG)
TEST-263 Append bytes
TEST-264 Prepend bytes
TEST-265 Écrire bytes zone documents
TEST-266 Écrire bytes zone group
TEST-267 Hex invalide (caractères non-hex)
TEST-268 Écrire fichier exécutable (base64)
TEST-269 Bytes vides
TEST-270 Insert bytes à offset invalide (au-delà de la taille fichier
TEST-271 Bytes zone uploads (interdit)
TEST-272 Fichier binaire avec hex répété
TEST-273 Overwrite partiel d'un binaire
TEST-274 Append à fichier texte
TEST-275 Path traversal bytes
TEST-276 Bytes avec message git
TEST-277 Content None bytes
TEST-278 Offset négatif
TEST-279 Offset au-delà de la taille
TEST-280 Écrire PDF (en-tête valide, base64)
TEST-281 Écrire fichier ZIP (en-tête, base64)
TEST-282 Caractères non-ASCII dans hex (invalide)
TEST-283 Base64 avec whitespace
TEST-284 Créer fichier binaire nouveau
TEST-285 Créer fichier binaire dans groupe
TEST-286 Position invalide bytes
TEST-287 Bytes dans sous-dossier
TEST-288 Écrire NULL bytes
TEST-289 Base64 padding incorrect
TEST-290 Bytes group sans group param
TEST-291 Supprimer fichier simple
TEST-292 Supprimer dossier vide
TEST-293 Supprimer dossier (récursif)
TEST-294 Supprimer fichier zone documents
TEST-295 Supprimer fichier zone group
TEST-296 Supprimer fichier inexistant
TEST-297 Supprimer zone uploads
TEST-298 Supprimer avec path traversal
TEST-299 Supprimer racine zone (bloqué)
TEST-300 Supprimer fichier verrouillé
TEST-301 Supprimer fichier groupe mode owner_ro
TEST-302 Supprimer fichier avec espaces
TEST-303 Supprimer lien symbolique
TEST-304 Supprimer fichier binaire
TEST-305 Supprimer arborescence profonde
TEST-306 Supprimer fichier caché
TEST-307 Supprimer .git (devrait être bloqué)
TEST-308 Supprimer sans path
TEST-309 Supprimer groupe sans group param
TEST-310 Supprimer zone invalide
TEST-311 Supprimer avec message git
TEST-312 Supprimer fichier groupe autre membre
TEST-313 Supprimer dossier .git interne
TEST-314 Supprimer tous les fichiers (pattern)
TEST-315 Supprimer fichier volumineux
TEST-316 Supprimer fichier pendant lecture
TEST-317 Supprimer path avec caractères spéciaux
TEST-318 Supprimer fichier UTF-8 dans nom
TEST-319 Supprimer dossier contenant .gitkeep
TEST-320 Supprimer groupe non membre
TEST-321 Renommer fichier simple
TEST-322 Déplacer fichier dans dossier
TEST-323 Renommer dossier
TEST-324 Renommer zone documents
TEST-325 Renommer zone group
TEST-326 Renommer fichier inexistant
TEST-327 Renommer vers destination existante
TEST-328 Renommer zone uploads (interdit)
TEST-329 Renommer avec path traversal
TEST-330 Renommer fichier verrouillé
TEST-331 Renommer vers dossier inexistant (création auto)
TEST-332 Renommer fichier sur lui-même
TEST-333 Renommer avec changement d'extension
TEST-334 Renommer fichier binaire
TEST-335 Renommer arborescence
TEST-336 Renommer vers nom avec espaces
TEST-337 Renommer fichier caché
TEST-338 Renommer sans old_path
TEST-339 Renommer sans new_path
TEST-340 Renommer groupe sans group param
TEST-341 Renommer avec message git
TEST-342 Renommer dossier vers sous-dossier de lui-même
TEST-343 Renommer fichier UTF-8
TEST-344 Renommer lien symbolique
TEST-345 Renommer fichier groupe mode owner
TEST-346 Renommer zone invalide
TEST-347 Renommer avec new_path commençant par zone
TEST-348 Renommer cross-zone (interdit)
TEST-349 Renommer fichier très gros
TEST-350 Renommer vers nom très long
TEST-351 Tree zone storage
TEST-352 Tree avec profondeur limitée
TEST-353 Tree d'un sous-dossier
TEST-354 Tree zone documents
TEST-355 Tree zone uploads
TEST-356 Tree zone group
TEST-357 Tree profondeur 0
TEST-358 Tree profondeur très grande
TEST-359 Tree dossier vide
TEST-360 Tree dossier inexistant
TEST-361 Tree zone invalide
TEST-362 Tree group sans group param
TEST-363 Tree avec path traversal
TEST-364 Tree sur fichier (pas dossier)
TEST-365 Tree profondeur 1
TEST-366 Tree arborescence profonde
TEST-367 Tree avec fichiers cachés
TEST-368 Tree groupe autre membre
TEST-369 Tree avec profondeur négative
TEST-370 Tree path avec espaces
TEST-371 Ouvrir fichier pour édition
TEST-372 Ouvrir fichier zone documents
TEST-373 Ouvrir fichier zone group
TEST-374 Ouvrir fichier inexistant
TEST-375 Ouvrir fichier déjà verrouillé (autre conversation)
TEST-376 Ouvrir fichier verrouillé par autre
TEST-377 Ouvrir zone uploads (interdit)
TEST-378 Ouvrir avec path traversal
TEST-379 Ouvrir dossier (interdit)
TEST-380 Ouvrir fichier binaire
TEST-381 Ouvrir zone invalide
TEST-382 Ouvrir group sans group param
TEST-383 Ouvrir fichier groupe mode owner_ro
TEST-384 Ouvrir fichier volumineux
TEST-385 Ouvrir sans path
TEST-386 Ouvrir fichier caché
TEST-387 Ouvrir fichier dans sous-dossier
TEST-388 Ouvrir groupe non membre
TEST-389 Ouvrir fichier symlink
TEST-390 Ouvrir plusieurs fichiers simultanément
TEST-391 Exec cat sur fichier verrouillé
TEST-392 Exec sed sur fichier verrouillé
TEST-393 Exec grep sur fichier verrouillé
TEST-394 Exec sur fichier non verrouillé
TEST-395 Exec commande rm (sans argument fichier)
TEST-396 Exec avec arguments dangereux
TEST-397 Exec head sur fichier verrouillé
TEST-398 Exec wc sur fichier verrouillé
TEST-399 Exec zone documents
TEST-400 Exec zone group
TEST-401 Exec awk sur fichier verrouillé
TEST-402 Exec sort sur fichier verrouillé
TEST-403 Exec sans cmd
TEST-404 Exec xxd (hexdump) sur binaire
TEST-405 Exec avec timeout dépassé
TEST-406 Overwrite fichier verrouillé
TEST-407 Append fichier verrouillé
TEST-408 Overwrite fichier non verrouillé
TEST-409 Overwrite zone documents
TEST-410 Overwrite zone group
TEST-411 Overwrite contenu vide
TEST-412 Append contenu multiligne
TEST-413 Overwrite contenu très long
TEST-414 Overwrite avec caractères spéciaux
TEST-415 Overwrite sans content
TEST-416 Append plusieurs fois
TEST-417 Overwrite fichier binaire avec texte
TEST-418 Overwrite group sans group param
TEST-419 Overwrite avec emojis
TEST-420 Append=False par défaut
TEST-421 Save fichier modifié
TEST-422 Save zone documents
TEST-423 Save fichier déjà sauvé (NOT_IN_EDIT_MODE)
TEST-424 Save zone group
TEST-425 Save fichier non verrouillé
TEST-426 Save fichier verrouillé par autre
TEST-427 Save sans modifications
TEST-428 Double save (déjà sauvé)
TEST-429 Save zone invalide
TEST-430 Save group sans group param
TEST-431 Save sans path
TEST-432 Save fichier non ouvert retourne NOT_IN_EDIT_MODE
TEST-433 Save fichier non ouvert retourne NOT_IN_EDIT_MODE
TEST-434 Save groupe déjà sauvé retourne NOT_IN_EDIT_MODE
TEST-435 Save puis réouvrir
TEST-436 Cancel édition
TEST-437 Cancel zone documents (workflow complet)
TEST-438 Cancel zone group (workflow complet)
TEST-439 Cancel fichier non verrouillé
TEST-440 Cancel fichier verrouillé par autre
TEST-441 Cancel après modifications
TEST-442 Cancel zone invalide
TEST-443 Cancel group sans group param
TEST-444 Cancel sans path
TEST-445 Double cancel
TEST-446 Cancel puis réouvrir
TEST-447 Cancel fichier binaire
TEST-448 Cancel groupe non membre
TEST-449 Cancel avec path traversal
TEST-450 Cancel fichier volumineux
TEST-451 Déplacer fichier uploads vers storage
TEST-452 Déplacer vers sous-dossier storage
TEST-453 Déplacer fichier inexistant
TEST-454 Déplacer vers destination existante
TEST-455 Déplacer fichier binaire
TEST-456 Déplacer fichier volumineux
TEST-457 Déplacer avec path traversal src
TEST-458 Déplacer avec path traversal dest
TEST-459 Déplacer sans src
TEST-460 Déplacer sans dest
TEST-461 Déplacer dossier entier
TEST-462 Déplacer avec renommage
TEST-463 Déplacer fichier caché
TEST-464 Déplacer vers dossier inexistant (création auto)
TEST-465 Déplacer fichier avec espaces
TEST-466 Déplacer fichier UTF-8
TEST-467 Déplacer symlink
TEST-468 Vérifier suppression de la source
TEST-469 Déplacer gros fichier (move ne change pas le quota)
TEST-470 Déplacer dest commençant par Storage
TEST-471 Déplacer uploads vers documents
TEST-472 Déplacer avec message git
TEST-473 Déplacer fichier inexistant
TEST-474 Déplacer vers destination existante
TEST-475 Déplacer fichier binaire
TEST-476 Déplacer avec path traversal
TEST-477 Déplacer sans src
TEST-478 Déplacer fichier volumineux
TEST-479 Vérifier commit créé
TEST-480 Déplacer fichier UTF-8
TEST-481 Déplacer vers sous-dossier profond
TEST-482 Déplacer avec espaces dans nom
TEST-483 Déplacer dest commençant par Documents
TEST-484 Déplacer gros fichier (move ne change pas le quota)
TEST-485 Message git par défaut
TEST-486 Copier storage vers documents
TEST-487 Copier avec message git
TEST-488 Copier fichier inexistant
TEST-489 Copier vers destination existante
TEST-490 Vérifier source non supprimée
TEST-491 Copier dossier
TEST-492 Copier fichier binaire
TEST-493 Copier avec path traversal
TEST-494 Copier fichier volumineux
TEST-495 Copier sans src
TEST-496 Copier vers sous-dossier
TEST-497 Copier fichier caché
TEST-498 Copier dest commençant par Documents
TEST-499 Copier gros fichier (quota non dépassé)
TEST-500 Copier fichier UTF-8
TEST-501 Déplacer documents vers storage
TEST-502 Déplacer avec message git
TEST-503 Déplacer fichier inexistant
TEST-504 Déplacer vers destination existante
TEST-505 Vérifier source supprimée
TEST-506 Déplacer fichier binaire
TEST-507 Déplacer avec path traversal
TEST-508 Déplacer sans src
TEST-509 Déplacer fichier volumineux
TEST-510 Déplacer dossier
TEST-511 Déplacer dest commençant par Storage
TEST-512 Vérifier commit de suppression
TEST-513 Déplacer fichier avec espaces
TEST-514 Déplacer vers sous-dossier
TEST-515 Message git par défaut
TEST-516 Copier storage vers group
TEST-517 Copier documents vers group
TEST-518 Copier avec message git
TEST-519 Copier avec mode owner
TEST-520 Copier avec mode group
TEST-521 Copier avec mode owner_ro
TEST-522 Copier fichier inexistant
TEST-523 Copier vers destination existante
TEST-524 Copier vers groupe non membre
TEST-525 Copier sans group
TEST-526 Copier depuis uploads vers group
TEST-527 Copier avec path traversal
TEST-528 Copier mode invalide (fallback to group)
TEST-529 Copier fichier binaire vers group
TEST-530 Copier src_zone invalide
TEST-531 Créer ZIP d'un fichier
TEST-532 Créer ZIP d'un dossier
TEST-533 ZIP avec sous-dossiers
TEST-534 ZIP avec empty dirs
TEST-535 ZIP sans empty dirs
TEST-536 ZIP zone documents
TEST-537 ZIP zone group non supportée
TEST-538 ZIP source inexistante
TEST-539 ZIP destination existante
TEST-540 ZIP avec path traversal src
TEST-541 ZIP avec path traversal dest
TEST-542 ZIP fichier binaire
TEST-543 ZIP fichiers multiples (dossier)
TEST-544 ZIP zone uploads (lecture seule OK)
TEST-545 ZIP zone invalide
TEST-546 ZIP group non supporté
TEST-547 ZIP sans dest (auto-nommé)
TEST-548 ZIP fichier volumineux
TEST-549 ZIP fichier caché
TEST-550 ZIP avec espaces dans nom
TEST-551 ZIP fichier UTF-8
TEST-552 ZIP dossier volumineux
TEST-553 ZIP dossier vide
TEST-554 ZIP dest dans sous-dossier
TEST-555 ZIP sans src
TEST-556 Extraire ZIP simple
TEST-557 Extraire ZIP dans racine
TEST-558 Extraire ZIP cross-zone (uploads vers storage)
TEST-559 Extraire ZIP zone documents
TEST-560 Extraire ZIP zone group non supportée
TEST-561 Extraire ZIP inexistant
TEST-562 Extraire fichier corrompu
TEST-563 Extraire ZIP vers destination existante
TEST-564 Extraire ZIP avec path traversal src
TEST-565 Extraire ZIP avec path traversal dest
TEST-566 Extraire ZIP avec structure profonde
TEST-567 Extraire ZIP zone invalide
TEST-568 Extraire ZIP zone group non supportée
TEST-569 Extraire ZIP binaire
TEST-570 Extraire ZIP avec mot de passe (non supporté)
TEST-571 Extraire ZIP volumineux
TEST-572 Extraire ZIP plus grand
TEST-573 Extraire ZIP fichiers UTF-8
TEST-574 Extraire ZIP sans src
TEST-575 src_zone invalide
TEST-576 Info ZIP simple
TEST-577 Info ZIP avec tailles
TEST-578 Info ZIP zone documents
TEST-579 Info ZIP zone group sans paramètre group
TEST-580 Info ZIP inexistant
TEST-581 Info fichier corrompu
TEST-582 Info ZIP avec path traversal
TEST-583 Info ZIP zone invalide
TEST-584 Info ZIP zone group sans paramètre group
TEST-585 Info ZIP corrompu
TEST-586 Info ZIP vide
TEST-587 Info ZIP volumineux
TEST-588 Info ZIP sans path
TEST-589 Info ZIP fichiers UTF-8
TEST-590 Info ZIP zone uploads
TEST-591 Import CSV simple
TEST-592 Import CSV avec headers
TEST-593 Import CSV sans headers
TEST-594 Import CSV délimiteur point-virgule
TEST-595 Import CSV délimiteur tab
TEST-596 Import CSV table existante (erreur)
TEST-597 Import CSV table existante if_exists=replace
TEST-598 Import CSV table existante if_exists=append
TEST-599 Import CSV fichier inexistant
TEST-600 Import CSV malformé
TEST-601 Import CSV vide
TEST-602 Import CSV zone documents
TEST-603 Import CSV zone group
TEST-604 Import CSV avec quotes
TEST-605 Import CSV UTF-8
TEST-606 Import CSV volumineux
TEST-607 Import CSV avec path traversal
TEST-608 Import CSV nouvelle base
TEST-609 Import CSV sans table
TEST-610 Import CSV zone invalide
TEST-611 Import CSV group sans group
TEST-612 Import CSV colonnes nombreuses
TEST-613 Import CSV lignes nombreuses
TEST-614 Import CSV types mixtes
TEST-615 Import CSV zone uploads
TEST-616 Import CSV if_exists invalide
TEST-617 Import CSV délimiteur invalide
TEST-618 Import CSV depuis autre zone
TEST-619 Import CSV nom table avec tirets (invalide)
TEST-620 Import CSV overwrite base
TEST-621 SELECT simple
TEST-622 SELECT avec WHERE
TEST-623 SELECT avec ORDER BY
TEST-624 SELECT avec LIMIT
TEST-625 SELECT avec JOIN (table inexistante)
TEST-626 SELECT avec GROUP BY
TEST-627 SELECT avec HAVING
TEST-628 SELECT fonctions agrégation
TEST-629 SELECT COUNT
TEST-630 SELECT DISTINCT
TEST-631 CREATE TABLE
TEST-632 INSERT INTO
TEST-633 UPDATE
TEST-634 DELETE
TEST-635 ALTER TABLE
TEST-636 DROP TABLE
TEST-637 Requête sur table inexistante
TEST-638 Requête syntaxe invalide
TEST-639 Requête base inexistante
TEST-640 Requête zone documents
TEST-641 Requête zone group
TEST-642 Requête avec paramètres
TEST-643 Multiple statements (bloqué)
TEST-644 SELECT avec sous-requête
TEST-645 Requête UNION
TEST-646 Requête CASE
TEST-647 Requête zone invalide
TEST-648 Requête group sans group
TEST-649 Requête vide
TEST-650 Requête résultat volumineux
TEST-651 SELECT avec LIKE
TEST-652 SELECT avec NULL
TEST-653 Requête readonly activé
TEST-654 PRAGMA (si autorisé)
TEST-655 CREATE INDEX
TEST-656 Requête avec alias
TEST-657 Requête COALESCE
TEST-658 Requête date
TEST-659 Requête avec path traversal
TEST-660 Requête fichier non-SQLite
TEST-661 Export résultat vers CSV
TEST-662 Export avec filtre
TEST-663 Export résultat vide
TEST-664 Export zone documents
TEST-665 Export zone group
TEST-666 Export vers fichier existant
TEST-667 Export volumineux
TEST-668 Export avec path traversal
TEST-669 Export dans sous-dossier
TEST-670 Export données UTF-8
TEST-671 Export avec NULL
TEST-672 Export agrégation
TEST-673 Export JOIN
TEST-674 Export quota dépassé
TEST-675 Export nom CSV avec espaces
TEST-676 Export sans query (import + export direct)
TEST-677 Export avec colonnes calculées
TEST-678 Export UNION
TEST-679 Export zone invalide
TEST-680 Export output_csv commençant par zone
TEST-681 Base corrompue
TEST-682 Base verrouillée
TEST-683 Timeout sur requête longue
TEST-684 Mémoire insuffisante
TEST-685 Import et query simultanés
TEST-686 Nom table SQL injection
TEST-687 Path base avec espaces
TEST-688 Base dans sous-dossier
TEST-689 VACUUM (si autorisé)
TEST-690 ATTACH DATABASE (bloqué sécurité)
TEST-691 Type fichier texte
TEST-692 Type fichier JSON
TEST-693 Type fichier PNG
TEST-694 Type fichier PDF
TEST-695 Type fichier ZIP
TEST-696 Type fichier inexistant
TEST-697 Type dossier
TEST-698 Type zone documents
TEST-699 Type zone group sans paramètre group
TEST-700 Type zone uploads
TEST-701 Type zone invalide
TEST-702 Type path traversal
TEST-703 Type fichier binaire inconnu
TEST-704 Type group sans group param
TEST-705 Type sans path
TEST-706 Convertir vers Unix (LF)
TEST-707 Convertir vers Windows (CRLF)
TEST-708 Convertir fichier déjà Unix
TEST-709 Convertir zone documents
TEST-710 Convertir fichier inexistant
TEST-711 Convertir binaire (erreur)
TEST-712 Convertir to invalide
TEST-713 Convertir zone uploads (interdit)
TEST-714 Convertir avec path traversal
TEST-715 Convertir fichier volumineux
TEST-716 Hexdump par défaut
TEST-717 Hexdump avec offset
TEST-718 Hexdump avec length
TEST-719 Hexdump offset + length
TEST-720 Hexdump fichier texte
TEST-721 Hexdump fichier inexistant
TEST-722 Hexdump zone documents
TEST-723 Hexdump offset négatif
TEST-724 Hexdump offset > taille
TEST-725 Hexdump path traversal
TEST-726 Force unlock fichier verrouillé
TEST-727 Force unlock fichier non verrouillé
TEST-728 Force unlock fichier inexistant
TEST-729 Force unlock zone documents
TEST-730 Force unlock zone group
TEST-731 Créer lien download
TEST-732 Créer lien zone documents (API non dispo)
TEST-733 Créer lien zone group (API non dispo)
TEST-734 Créer lien fichier inexistant
TEST-735 Créer lien dossier (interdit)
TEST-736 Créer lien zone uploads
TEST-737 Créer lien path traversal
TEST-738 Créer lien zone invalide
TEST-739 Créer lien group sans group
TEST-740 Créer lien sans path
TEST-741 Créer lien fichier binaire (API non dispo)
TEST-742 Créer lien fichier texte (fichier manquant)
TEST-743 Créer lien fichier ZIP (API non dispo)
TEST-744 Créer lien fichier avec espaces (fichier manquant)
TEST-745 Créer lien fichier UTF-8 (fichier manquant)
TEST-746 Créer plusieurs liens même fichier (fichier manquant)
TEST-747 Créer lien fichier volumineux (API non dispo)
TEST-748 Vérifier format clickable_link (fichier manquant)
TEST-749 Créer lien dans sous-dossier (fichier manquant)
TEST-750 Créer lien fichier caché (API non dispo)
TEST-751 Lister liens (skip - API non dispo)
TEST-752 Lister liens vide (skip - API non dispo)
TEST-753 Lister après création (skip - API non dispo)
TEST-754 Lister après suppression (skip - API non dispo)
TEST-755 Vérifier infos dans liste (skip - API non dispo)
TEST-756 Lister plusieurs liens (skip - API non dispo)
TEST-757 Lister liens différentes zones (skip - API non dispo)
TEST-758 Lister ne voit pas liens autres users (skip - API non dispo)
TEST-759 Lister liens groupe (skip - API non dispo)
TEST-760 Lister avec pagination (skip - API non dispo)
TEST-761 Supprimer lien (skip - API non dispo)
TEST-762 Supprimer lien inexistant (skip - API non dispo)
TEST-763 Supprimer sans file_id (skip - API non dispo)
TEST-764 Supprimer lien autre user (skip - API non dispo)
TEST-765 Supprimer puis vérifier liste (skip - API non dispo)
TEST-766 Double suppression (skip - API non dispo)
TEST-767 Supprimer ne supprime pas fichier (skip - API non dispo)
TEST-768 Supprimer lien zone documents (skip - API non dispo)
TEST-769 Supprimer lien zone group (skip - API non dispo)
TEST-770 file_id invalide format (skip - API non dispo)
TEST-771 Lister groupes (API non dispo)
TEST-772 Lister groupes vide (API non dispo)
TEST-773 Vérifier infos groupe (API non dispo)
TEST-774 Lister plusieurs groupes (API non dispo)
TEST-775 Groupe owner vs member (API non dispo)
TEST-776 Groupes ne voit pas groupes autres users (API non dispo)
TEST-777 Liste inclut groupes invité (API non dispo)
TEST-778 Ordre de liste (API non dispo)
TEST-779 Groupe avec nom spécial (API non dispo)
TEST-780 API groupes indisponible
TEST-781 Info groupe existant
TEST-782 Info groupe inexistant
TEST-783 Info groupe non membre
TEST-784 Info sans group
TEST-785 Vérifier membres dans info
TEST-786 Vérifier quota dans info
TEST-787 Info groupe avec beaucoup de membres
TEST-788 Vérifier owner dans info
TEST-789 Info groupe ID vs nom
TEST-790 Vérifier created_at dans info
TEST-791 Info groupe avec fichiers
TEST-792 Groupe ID caractères spéciaux
TEST-793 Info groupe inexistant
TEST-794 Info groupe description
TEST-795 Info groupe timeout
TEST-796 Changer mode vers owner
TEST-797 Changer mode vers group
TEST-798 Changer mode vers owner_ro
TEST-799 Changer mode fichier inexistant
TEST-800 Changer mode non owner
TEST-801 Changer mode invalide
TEST-802 Changer mode sans group
TEST-803 Changer mode sans path
TEST-804 Changer mode sans mode
TEST-805 Changer mode groupe non membre
TEST-806 Changer mode path traversal
TEST-807 Changer mode dossier
TEST-808 Vérifier mode après changement
TEST-809 Changer mode plusieurs fois
TEST-810 Groupe inexistant
TEST-811 Transférer ownership à non-membre
TEST-812 Transférer à non-membre invalide
TEST-813 Transférer fichier inexistant
TEST-814 Transférer non owner
TEST-815 Transférer sans group
TEST-816 Transférer sans path
TEST-817 Transférer sans new_owner
TEST-818 Transférer groupe non membre
TEST-819 Transférer path traversal
TEST-820 Transférer à soi-même
TEST-821 Vérifier owner après transfer
TEST-822 Transférer fichier mode owner_ro à soi-même
TEST-823 new_owner ID invalide format
TEST-824 Transférer dossier
TEST-825 Groupe inexistant
TEST-826 Double transfer échoue (non-membre)
TEST-827 Transférer fichier binaire à soi-même
TEST-828 Transférer fichier inexistant
TEST-829 new_owner par nom invalide
TEST-830 Transférer dans sous-dossier inexistant
TEST-831 Import fichier spécifique (pas de fichiers)
TEST-832 Import tous les fichiers (pas de fichiers)
TEST-833 Import fichier inexistant (pas de fichiers)
TEST-834 Import sans paramètres (pas de fichiers)
TEST-835 Import aucun fichier uploadé
TEST-836 Import fichier déjà importé (pas de fichiers)
TEST-837 Import fichier volumineux (pas de fichiers)
TEST-838 Vérifier fichiers dans uploads après import (pas de fichiers
TEST-839 Import multiple fichiers (pas de fichiers)
TEST-840 Import avec path traversal (pas de fichiers)
TEST-841 Import fichier avec espaces (pas de fichiers)
TEST-842 Import fichier UTF-8 (pas de fichiers)
TEST-843 Import retourne liste (pas de fichiers)
TEST-844 Import filename vide (pas de fichiers)
TEST-845 Import filename et import_all (pas de fichiers)
TEST-846 Aide générale
TEST-847 Aide howto paths
TEST-848 Aide howto zones (invalide)
TEST-849 Aide howto commands
TEST-850 Aide howto csv_to_sqlite
TEST-851 Aide howto download
TEST-852 Aide howto edit
TEST-853 Aide howto share
TEST-854 Aide howto invalide
TEST-855 Aide howto vide
TEST-856 Aide contient liste fonctions
TEST-857 Aide format markdown
TEST-858 Aide howto upload
TEST-859 Aide howto network
TEST-860 Aide howto case insensitive
TEST-861 Stats utilisateur
TEST-862 Stats contient usage
TEST-863 Stats contient zones
TEST-864 Stats file count
TEST-865 Stats groupes
TEST-866 Parameters
TEST-867 Parameters contient quotas
TEST-868 Parameters contient timeouts
TEST-869 Parameters contient network_mode
TEST-870 Parameters contient limites
TEST-871 Allowed commands
TEST-872 Allowed commands par zone
TEST-873 Allowed commands contient basiques
TEST-874 Allowed commands network
TEST-875 Maintenance
TEST-876 Maintenance nettoie locks expirés
TEST-877 Maintenance sans locks expirés
TEST-878 Stats après opérations
TEST-879 Parameters version
TEST-880 Allowed commands git
TEST-881 Path traversal simple
TEST-882 Path traversal encodé (non décodé)
TEST-883 Path traversal double encodé (non décodé)
TEST-884 Path avec ../ interne
TEST-885 Symlink escape (symlink non existant)
TEST-886 Path absolu
TEST-887 Path avec null byte
TEST-888 Path avec backslash (Linux: pas un séparateur)
TEST-889 Traversal via stdout_file
TEST-890 Traversal via stderr_file
TEST-891 Traversal shed_patch_text
TEST-892 Traversal shed_delete
TEST-893 Traversal shed_rename dest
TEST-894 Traversal shed_zip dest
TEST-895 Traversal shed_sqlite path
TEST-896 Injection point-virgule
TEST-897 Injection pipe
TEST-898 Injection &&
TEST-899 Injection backticks
TEST-900 Injection $()
TEST-901 Injection >
TEST-902 Injection >>
TEST-903 Commande non whitelist
TEST-904 Commande rm -rf /
TEST-905 Commande curl sans -o (network disabled)
TEST-906 Commande wget (network disabled)
TEST-907 Network disabled
TEST-908 Find -exec bloqué
TEST-909 Awk system() bloqué
TEST-910 Xargs bloqué
TEST-911 Injection newline
TEST-912 SQL injection shed_sqlite
TEST-913 Table name injection
TEST-914 Commande vide
TEST-915 Commande avec espaces
TEST-916 Fichier trop grand storage
TEST-917 Fichier trop grand documents
TEST-918 Fichier trop grand group
TEST-919 shed_patch_bytes simple
TEST-920 Zone uploads readonly (write)
TEST-921 Zone uploads readonly (mkdir)
TEST-922 Group access denied
TEST-923 Group file mode owner (fichier inexistant)
TEST-924 Group file mode owner_ro (fichier inexistant)
TEST-925 Group file delete mode owner (fichier créé par TEST-923)
TEST-926 Timeout commande longue
TEST-927 Mémoire limite subprocess (contient <)
TEST-928 CPU limite subprocess
TEST-929 Output truncation
TEST-930 Lock expiration
TEST-931 User ID test via stats
TEST-932 Conversation ID test via stats
TEST-933 Zone group vide
TEST-934 Group ID caractères interdits
TEST-935 Path commençant par zone
TEST-936 Output fichier inexistant
TEST-937 Locked edit sans verrouillage
TEST-938 Download link delete (API non dispo)
TEST-939 Unzip fichier inexistant
TEST-940 Network disabled (curl)
TEST-941 Workflow upload -> storage -> zip -> link
TEST-942 Workflow CSV -> SQLite -> analyse
TEST-943 Workflow multiple CSV -> SQLite -> JOIN
TEST-944 Workflow document versioning
TEST-945 Workflow locked edit complet
TEST-946 Workflow group collaboration
TEST-947 Workflow media processing
TEST-948 Workflow pandoc conversion
TEST-949 Workflow archive multi-fichiers
TEST-950 Workflow backup complet
TEST-951 Workflow cross-zone
TEST-952 Workflow analyse texte
TEST-953 Workflow JSON processing
TEST-954 Workflow documents Git history
TEST-955 Workflow cleanup
TEST-956 Workflow batch file creation
TEST-957 Workflow SQLite multi-operations
TEST-958 Workflow downloads bulk
TEST-959 Workflow error recovery
TEST-960 Workflow permissions group
TEST-961 Fichier nom très long
TEST-962 Arborescence très profonde
TEST-963 Beaucoup de fichiers dans dossier
TEST-964 Fichier avec tous caractères UTF-8
TEST-965 Fichier avec emojis dans contenu
TEST-966 Fichier avec emojis dans nom
TEST-967 Opérations simultanées même fichier
TEST-968 Requête SQL résultat géant
TEST-969 ZIP récursif (zip de zip)
TEST-970 Unzip dans lui-même
TEST-971 SQLite database locked
TEST-972 Git repo status
TEST-973 Fichier sparse
TEST-974 Timeout très court custom
TEST-975 Output exactement à la limite
TEST-976 Binary dans text function
TEST-977 Text dans binary function
TEST-978 Circular symlinks
TEST-979 Fichier sans permission lecture
TEST-980 Zone avec caractères spéciaux
TEST-981 Commande avec timeout=0
TEST-982 Très grand nombre de locks
TEST-983 Pattern regex catastrophique
TEST-984 Import fichier 0 bytes
TEST-985 SQLite table avec 0 colonnes
TEST-986 Nom fichier uniquement extension
TEST-987 Nom fichier uniquement point
TEST-988 Nom fichier deux points
TEST-989 Commande avec arguments très longs
TEST-990 Beaucoup de groupes
TEST-991 Download link fichier supprimé
TEST-992 Concurrent SQLite write
TEST-993 Fichier avec newlines dans nom
TEST-994 Base SQLite avec schéma complexe
TEST-995 Workflow complet données pays
TEST-996 Recovery après crash
TEST-997 Stress test sequential
TEST-998 Toutes les zones en une session
TEST-999 Toutes les fonctions help
TEST-1000 Test final - workflow complet end-to-end
TEST-1001 shed_help howto download
TEST-1002 shed_help howto csv_to_sqlite
TEST-1003 shed_help howto upload
TEST-1004 shed_help howto share
TEST-1005 shed_help howto edit
TEST-1006 shed_help howto commands
TEST-1007 shed_help howto network
TEST-1008 shed_help howto paths
TEST-1009 shed_help howto large_files
TEST-1010 shed_help howto zones (non existant)
TEST-1011 shed_help howto groups (non existant)
TEST-1012 shed_help howto sqlite (non existant)
TEST-1013 shed_help howto full
TEST-1014 shed_help howto invalide
TEST-1015 shed_exec avec stdout_file
TEST-1016 shed_exec jq avec stdout_file
TEST-1017 shed_exec avec stderr_file
TEST-1018 shed_exec avec stdout_file et stderr_file
TEST-1019 shed_exec stdout_file dans sous-dossier
TEST-1020 shed_exec stdout_file path escape
TEST-1021 shed_exec cat vers stdout_file
TEST-1022 shed_exec grep vers stdout_file
TEST-1023 shed_unzip avec src_zone uploads
TEST-1024 shed_unzip src_zone même zone
TEST-1025 shed_unzip src_zone documents
TEST-1026 shed_unzip src_zone invalide
TEST-1027 shed_unzip src_zone groupe (non supporté)
TEST-1028 shed_unzip src_zone vide (défaut)
TEST-1029 shed_zip avec include_empty_dirs=True
TEST-1030 shed_zip avec include_empty_dirs=False
TEST-1031 shed_zip défaut (sans include_empty_dirs)
TEST-1032 shed_zip fichier unique avec include_empty_dirs
TEST-1033 shed_zip dossier non-existant
TEST-1034 CSV import avec délimiteur point-virgule
TEST-1035 CSV import avec délimiteur tabulation
TEST-1036 CSV import avec encoding latin-1
TEST-1037 CSV import avec encoding utf-8 explicite
TEST-1038 CSV import avec décimal virgule
TEST-1039 CSV import avec date_columns
TEST-1040 CSV import avec date_format dayfirst
TEST-1041 CSV import complet européen
TEST-1042 CSV import avec if_exists replace
TEST-1043 CSV import avec if_exists append
TEST-1044 CSV import avec if_exists fail (table existe)
TEST-1045 CSV import encoding invalide
TEST-1046 ZIP bomb potentiel (fichier n'existe pas)
TEST-1047 shed_allowed_commands vérifie liste
TEST-1048 shed_exec commande non dans whitelist
TEST-1049 shed_patch_text overwrite sans overwrite=True sur fichier ex
TEST-1050 shed_sqlite readonly mode
TEST-1051 Argument avec backtick
TEST-1052 Argument avec $()
TEST-1053 Argument avec ${
TEST-1054 find avec -exec bloqué
TEST-1055 awk avec system() bloqué
TEST-1056 shed_exec timeout personnalisé valide
TEST-1057 shed_exec timeout maximum
TEST-1058 shed_exec timeout dépassant max
TEST-1059 shed_patch_text avec message dans documents
TEST-1060 shed_rename avec message dans documents
TEST-1061 shed_exec avec max_output="" - doit nommer le paramètre faut
TEST-1062 shed_patch_text avec line="" - doit indiquer le type attendu
TEST-1063 shed_patch_text avec end_line="" - doit indiquer le type att
TEST-1064 shed_patch_bytes avec offset="" - doit nommer le paramètre
TEST-1065 shed_patch_bytes avec length="" - doit nommer le paramètre
TEST-1066 shed_lockedit_exec avec timeout="" - doit nommer le paramètr
TEST-1067 shed_hexdump avec offset=None - conversion silencieuse en 0
TEST-1068 shed_hexdump avec length=None - conversion silencieuse en 25
TEST-1069 shed_patch_text avec regex_flags=0 - doit indiquer type stri
TEST-1070 shed_convert_eol avec to=None - doit lister les valeurs vali
TEST-1071 shed_convert_eol avec to=0 - doit lister les valeurs valides
TEST-1072 shed_sqlite avec skip_rows=None - conversion silencieuse en
TEST-1073 shed_sqlite avec import_csv ET query - doit expliquer l'excl
TEST-1074 shed_sqlite avec query="" et import_csv fourni - query="" ig
TEST-1075 shed_exec avec max_output=0 - utilise max absolu (comporteme
TEST-1076 shed_sqlite avec limit=0 - pas de limite (comportement docum
TEST-1077 shed_tree avec depth=0 - converti en 1 (minimum)
TEST-1078 shed_patch_bytes avec offset=0 - début du fichier (valide)
TEST-1079 shed_patch_text overwrite=True avec end_line=0 - ignoré sile
TEST-1080 shed_patch_text overwrite=True avec pattern="" - ignoré sile
TEST-1081 shed_patch_text overwrite=True avec line=0 - ignoré silencie
TEST-1082 shed_patch_text overwrite=True avec regex_flags=0 - ignoré s
TEST-1083 shed_exec avec args=0 - converti silencieusement en []
TEST-1084 shed_lockedit_exec avec args=[] explicite puis argument - va
TEST-1085 shed_patch_text avec position="overwrite" ET overwrite=True
TEST-1086 shed_patch_text avec position="overwrite" SANS overwrite=Tru
TEST-1087 attach database minuscules (bloqué sécurité)
TEST-1088 DETACH majuscules (bloqué sécurité)
TEST-1089 detach minuscules (bloqué sécurité)
TEST-1090 load_extension minuscules (bloqué sécurité)
TEST-1091 Attach DATABASE casse mixte (bloqué sécurité)
TEST-1092 shed_move_uploads_to_storage sans overwrite sur fichier exis
TEST-1093 shed_move_uploads_to_storage avec overwrite=True sur fichier
TEST-1094 shed_copy_storage_to_documents sans overwrite sur fichier ex
TEST-1095 shed_copy_storage_to_documents avec overwrite=True sur fichi
TEST-1096 shed_move_documents_to_storage sans overwrite sur fichier ex
TEST-1097 shed_move_documents_to_storage avec overwrite=True sur fichi
TEST-1098 shed_move_uploads_to_documents sans overwrite sur fichier ex
TEST-1099 shed_move_uploads_to_documents avec overwrite=True sur fichi
TEST-1100 shed_copy_to_group sans overwrite sur fichier existant
TEST-1101 shed_copy_to_group avec overwrite=True sur fichier existant
TEST-1102 Création fichier texte simple storage
TEST-1103 Création fichier texte documents avec message
TEST-1104 Création fichier texte group
TEST-1105 Création fichier UTF-8
TEST-1106 Création fichier vide
TEST-1107 Création fichier multilignes
TEST-1108 Création dans sous-dossier existant
TEST-1109 Création dans sous-dossier inexistant (auto-création)
TEST-1110 Écrasement fichier existant (comportement par défaut)
TEST-1111 Création avec nom contenant espaces
TEST-1112 Création zone uploads (interdit)
TEST-1113 Création zone invalide
TEST-1114 Création group sans group
TEST-1115 Création avec path traversal
TEST-1116 Création binaire hex format
TEST-1117 Création binaire base64 format
TEST-1118 Création binaire raw format
TEST-1119 Création binaire documents
TEST-1120 Création binaire group
TEST-1121 Création binaire vide (hex)
TEST-1122 Création binaire hex invalide (longueur impaire)
TEST-1123 Création binaire hex invalide (caractères)
TEST-1124 Création binaire base64 invalide
TEST-1125 file_type invalide
TEST-1126 content_format invalide
TEST-1127 Création binaire écrase fichier existant
TEST-1128 Création binaire dans sous-dossier
TEST-1129 Création binaire avec path traversal
TEST-1130 Création binaire zone uploads (interdit)
TEST-1131 Création group avec mode owner
TEST-1132 Création group avec mode owner_ro
TEST-1133 Création group avec mode invalide (converti silencieusement
TEST-1134 Création documents avec message vide
TEST-1135 Création avec content vide (valide)
TEST-1136 Création sans path (paramètre requis)
TEST-1137 Création path commençant par zone (bloqué)
TEST-1138 Création path commençant par zone avec allow_zone_in_path
TEST-1139 Création fichier JSON valide
TEST-1140 Création fichier avec contenu très long
TEST-1141 Modification .git/config (NON protégé actuellement)
TEST-1142 Suppression .git/HEAD (bloqué)
TEST-1143 Renommage .git (NON protégé actuellement)
TEST-1144 shed_exec rm sur .git (NON protégé actuellement)
TEST-1145 Création fichier dans .git (NON protégé actuellement)
TEST-1146 curl sans -o (réseau désactivé)
TEST-1147 wget sans -O (réseau désactivé)
TEST-1148 git clone sans destination (réseau désactivé)
TEST-1149 curl avec -o valide (réseau désactivé)
TEST-1150 wget avec -O valide (réseau désactivé)
TEST-1151 Import CSV complètement vide
TEST-1152 Import CSV avec headers seulement (pas de données)
TEST-1153 Import CSV avec lignes vides uniquement
TEST-1154 Opération sur zone root (chemin vide)
TEST-1155 Opération sur zone root (chemin .)
TEST-1156 Renommage de la racine (path="." échoue)
TEST-1157 shed_tree sur chemin null
TEST-1158 shed_hexdump sur répertoire
TEST-1159 Suppression lien (API indisponible en test)
TEST-1160 Liste liens (API indisponible en test)
TEST-1161 Création lien sur fichier inexistant
TEST-1162 CSV avec trop de colonnes (5001+)
TEST-1163 shed_lockedit_save sans open préalable
TEST-1164 shed_force_unlock sur fichier non verrouillé
TEST-1165 shed_sqlite sur fichier non-SQLite (SQLite l'ouvre quand mêm
TEST-1166 shed_unzip sur fichier non-ZIP
TEST-1167 shed_zipinfo sur fichier non-ZIP
TEST-1168 shed_convert_eol format invalide
TEST-1169 shed_group_chown vers utilisateur invalide
TEST-1170 shed_sqlite query vide
TEST-1171 shed_link_delete avec file_id None
TEST-1172 shed_link_delete avec file_id vide
TEST-1173 Import CSV vide avec has_header=False
TEST-1174 Import CSV avec uniquement whitespace (traité comme données
TEST-1175 Import CSV headers-only réussit (0 lignes importées)
TEST-1176 Import CSV binaire est traité comme texte corrompu (réussit
TEST-1177 Import CSV avec encoding invalide (réussit avec données corr
TEST-1178 Import CSV avec colonnes inconsistantes (padding automatique
TEST-1179 ZIP avec 100 fichiers (sous le seuil de 10000)
TEST-1180 ZIP avec ratio de compression > 100:1 déclenche ZIP_BOMB
TEST-1181 ZIP avec 100MB de données répétées déclenche ZIP_BOMB (ratio
TEST-1182 Écriture fichier dépassant quota utilisateur
TEST-1183 Patch dépassant quota
TEST-1184 Copie vers groupe dépassant quota groupe
TEST-1185 curl sans -o ni stdout_file
TEST-1186 curl avec -L mais sans -o
TEST-1187 wget sans -O
TEST-1188 curl avec -o fonctionne (contrôle positif)
TEST-1189 User ID non-UUID (texte simple)
TEST-1190 User ID vide
TEST-1191 User ID None
TEST-1192 User ID avec espaces seulement
TEST-1193 shed_link_create sans user id (validation échoue d'abord)
TEST-1194 shed_link_list sans user id
TEST-1195 shed_link_delete sans user id

Section Summary

Section Name Tests Status
1 shed_exec - Navigation et Lect 100/100
2 shed_exec - Écriture et Modifi 80/80
3 shed_patch_text 80/80
4 shed_patch_bytes 30/30
5 shed_delete et shed_rename 60/60
6 shed_tree 20/20
7 shed_lockedit workflow 80/80
8 Zone bridges 80/80
9 Archives ZIP 60/60
10 shed_sqlite 100/100
11 Utilitaires fichiers 40/40
12 Download links 40/40
13 Groups 60/60
14 Utilitaires info 50/50
15 Sécurité 60/60
16 Workflows complexes 60/60
17 Couverture additionnelle 60/60
18 LLM Guardrails 26/26
19 Sécurité SQL - Case Insensitiv 5/5
20 Bridge Functions - Overwrite 10/10
21 shed_create_file 39/39
22 Codes erreur manquants 30/30
23 Codes erreur avancés 25/25