Skip to content

E2E: nenhum teste pode contatar a internet #114

Closed

Description

@patrickbrandao

Contexto

Durante a queda de conexão com o GitHub em 2026-10-12, o teste packages/backend/test/proxy.e2e-spec.ts › "accepts X-Session-Key header without error" (linha 309) recebeu 503, um status que o teste não aceita (aceita 200/400/401/429/500/502). Ao rodar de novo, com a rede de volta, passou. Isso indica que o e2e pode estar fazendo uma chamada real para fora (um provedor ou catálogo) em vez de usar um mock. Testes não podem depender da internet nem contatar terceiros.

Escopo

  • Descobrir para onde a requisição desse teste vai (provedor padrão, catálogo, etc.) e trocar por um mock em 127.0.0.1.
  • Fazer a suíte e2e falhar em qualquer conexão de rede fora de loopback: por exemplo, carregar test/support/egress-recorder.cjs (ou equivalente) no globalSetup/setupFiles de toda a suíte, permitindo só loopback e, quando o teste pedir explicitamente, os hosts do ADR 0003 sob mock.
  • Ajustar os status aceitos pelo teste para o que de fato deve acontecer.

Critérios de aceite

  • TZ=UTC npm run test:e2e:docker --workspace=packages/backend passa com a máquina sem acesso à internet (por exemplo, rodando os testes numa rede Docker --internal, ou com o bloqueio do egress-recorder ligado).
  • Nenhum e2e faz DNS ou conexão para fora de loopback.

Agente responsável

backend-dev

Dependências

Nenhuma.

Activity

  1. added this to the v0.1 milestone on Oct 12, 2026
  2. added
    area:backendBackend: NestJS, TypeORM, proxy, CLI, MCP
    area:infraInfra: CI, Docker, imagem multi-arch, releases, templates de deploy
    on Oct 12, 2026
  3. patrickbrandao commented on Oct 12, 2026

    @patrickbrandao
    OwnerAuthor

    Nit da revisão do #113: em packages/backend/test/no-phonehome-egress.e2e-spec.ts:394, o filtro do recorder só casa :11434 e os aliases de host. Se o override de LM Studio/llama.cpp fosse rejeitado, o servidor cairia em localhost:1234/:8080 e essas metades do teste deixariam de pegar sondas sem falhar. Ao generalizar o bloqueio de rede aqui, casar também :(11434|1234|8080) ou garantir que não há o aviso "ignoring it and using" na saída do servidor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:backendBackend: NestJS, TypeORM, proxy, CLI, MCParea:infraInfra: CI, Docker, imagem multi-arch, releases, templates de deploy

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions