runv-server

server tooling for runv.club
Log | Files | Refs | README

14-smoke-tests-and-validation.md (2159B)


      1 # Smoke tests e validação
      2 
      3 [← Índice](README.md)
      4 
      5 ## Sintaxe Python (todo o produto)
      6 
      7 ```bash
      8 cd REPO
      9 python3 -m compileall -q scripts terminal site tools email patches
     10 ```
     11 
     12 **Esperado:** código de saída `0`.
     13 
     14 ## Submódulo email
     15 
     16 ```bash
     17 cd REPO/email
     18 python3 -m pytest tests/ -q
     19 ```
     20 
     21 **Esperado:** testes passam (há `test_mailgun_client.py`).
     22 
     23 ## `build_directory.py`
     24 
     25 ```bash
     26 python3 site/build_directory.py --users-json site/example-users.json --dry-run
     27 ```
     28 
     29 **Esperado:** JSON no stdout com `username`, `since`, `path`.
     30 
     31 ## `--help` (requer Unix)
     32 
     33 Vários scripts importam `fcntl` ou `grp` — **não executáveis** em Windows típico:
     34 
     35 - `scripts/admin/create_runv_user.py --help`
     36 - `terminal/setup_entre.py --help`
     37 - `site/genlanding.py --help`
     38 
     39 Em **Debian:** correr os `--help` acima e guardar a saída para operadores. Confirmar que `site/genlanding.py --help` lista **`--sync-public-only`**.
     40 
     41 ## Aliases de email para membros (Linux)
     42 
     43 Revisão estática (qualquer OS):
     44 
     45 ```bash
     46 python3 -m compileall -q tools scripts/admin/setup_email_aliases.py scripts/admin/smoke_test_email_aliases.py
     47 python3 tools/bin/runv-email-alias --help
     48 python3 tools/bin/runv-admin-email-alias --help
     49 ```
     50 
     51 Smoke test integrado (VPS ou WSL; usa diretório temporário por defeito):
     52 
     53 ```bash
     54 cd REPO
     55 sudo python3 scripts/admin/smoke_test_email_aliases.py --user MEMBRO_TESTE
     56 ```
     57 
     58 Setup + instalação em produção (antes do smoke com paths reais):
     59 
     60 ```bash
     61 sudo python3 scripts/admin/setup_email_aliases.py --verbose
     62 sudo python3 scripts/admin/setup_email_aliases.py --add-existing-users
     63 cd tools && sudo python3 tools.py --verbose
     64 ```
     65 
     66 Ver também [08-email.md](08-email.md) e [17-community-commands.md](17-community-commands.md). Registo de revisão: [review-email-aliases-signoff.md](review-email-aliases-signoff.md).
     67 
     68 ## O que **não** existe no repo (facto)
     69 
     70 - **Sem** workflows `.github/workflows` na raiz do projecto runv (verificado por ausência de `.github/` no clone típico).
     71 - **Sem** suite de testes para `entre_core` ou `build_directory` além do que está em `email/tests/`.
     72 
     73 Próximo: [15-glossary-and-reference.md](15-glossary-and-reference.md).