Skip to content

blocked: sem mecanismo de autenticação de serviço para execute-lowcode (OAuth bloqueia teste automatizado) #9

Description

@elson-vinicius-lopes

Contexto

Rodada real de npm run test:mappers em 2026-08-29 (ver .claude/agent-memory/qa-cypress/run-2026-08-29-nfe-emissao-normal.md) — it() FIAT [sysmiddle] — execute-lowcode → Pollux falhou.

O que acontece

POST /api/TransformationExecution/execute-lowcode na LayoutParserApi retorna HTTP 401 com corpo vazio. Confirmado via curl direto no endpoint (não é bug do spec Cypress — o TypeError: Cannot read properties of undefined (reading 'slice') visto no teste é só sintoma de JSON.stringify(undefined) estourando antes da asserção de status rodar).

Causa raiz (confirmada pelo usuário)

O endpoint passou a exigir login OAuth (Google/Microsoft) numa mudança recente da LayoutParserApi. Não há, hoje, nenhum mecanismo de autenticação/tokenização de serviço (não interativo) para clientes automatizados como este próprio Cypress.

Por que isso bloqueia este repo

Este repo de testes (LayoutParserCypress) não consegue autenticar como serviço — não é possível fazer login interativo via OAuth num pipeline de CI/Cypress. Sem esse mecanismo, o caminho execute-lowcode do gate de mapeadores fica permanentemente vermelho.

A correção é do lado da LayoutParserApi

Este item não é acionável dentro deste repo. Requer decisão/desenvolvimento na LayoutParserApi: algum mecanismo de client credentials / service account / API key para chamadas automatizadas, paralelo ao login OAuth interativo de usuários humanos.

Critério de aceite (quando desbloqueado)

  • LayoutParserApi expõe um mecanismo de autenticação não interativa para execute-lowcode (ex.: client credentials/service token).
  • cypress.env.json.example deste repo documenta a variável/segredo necessário.
  • it() FIAT [sysmiddle] — execute-lowcode → Pollux roda sem 401 e passa (ou falha por razão fiscal legítima, não por auth).

Referências

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions