TypeScript / Execução registrada

OctoMetrics Engine

Typed Node.js service for collecting GitHub account contributions and receiving verified pull request webhooks. The metrics command writes structured JSON to standard output. The webhook server records merged and closed pull requests as structured JSON logs.

O que foi verificado

A aplicação Express recebe requisições HTTP reais em uma porta local e verifica os códigos 200, 202, 400, 401 e 415. O processamento das métricas usa uma fixture explícita. Não valida consulta GraphQL autenticada nem um webhook público em produção.

Versão executada
733b0bbcfed35d1b1b642969c27f692993bb40a4
Registro
2026-10-11T00:51:00.651238+00:00
Repositório
brunnojob/octometrics-engine
Licença
See repository

A evidência abaixo pertence à versão registrada. A consulta usa a API pública do GitHub e pode atingir o limite de requisições.

Comandos e resultados reais

Resultados extraídos dos logs do Actions. Saídas extensas podem estar resumidas; a execução original e o artefato contêm o registro completo.

Baixar relatório JSON
PASS Build the real TypeScript application

Saída: 0 · esperada: 0 · 2.314 s

$ npm run build


> octometrics-engine@1.0.0 build
> tsc -p tsconfig.json

PASS Real HTTP webhook requests and metrics processing

Saída: 0 · esperada: 0 · 0.251 s

$ node .proof/demo.mjs

{"timestamp":"2026-10-11T00:51:03.110Z","event":"github.webhook","delivery":"proof-merged","outcome":"merged","repository":"brunnojob/octometrics-engine","pullNumber":1}
{"test":"merged","status":200,"response":{"outcome":"merged"}}
{"timestamp":"2026-10-11T00:51:03.125Z","event":"github.webhook","delivery":"proof-closed","outcome":"closed","repository":"brunnojob/octometrics-engine","pullNumber":1}
{"test":"closed","status":200,"response":{"outcome":"closed"}}
{"test":"unsigned","status":401,"response":{"error":"Invalid webhook signature"}}
{"test":"signed-invalid-json","status":400,"response":{"error":"Invalid JSON payload"}}
{"test":"signed-invalid-payload","status":400,"response":{"error":"Invalid pull_request payload"}}
{"timestamp":"2026-10-11T00:51:03.138Z","event":"github.webhook","delivery":"proof-ignored-event","outcome":"ignored","githubEvent":"push"}
{"test":"ignored-event","status":202,"response":{"outcome":"ignored"}}
{"test":"wrong-content-type","status":415,"response":{"error":"Expected an application/json payload"}}
{"test":"tampered-signature","status":401}
{"test":"metrics-processor-with-explicit-fixture","languages":[{"name":"Java","repositories":1,"commits":6},{"name":"C","repositories":1,"commits":3}],"total":12}
Baixar transcrição

Reproduzir a execução

Os pré-requisitos e as entradas são públicos no repositório. Faça checkout da versão exata antes de executar os cenários.

git clone https://github.com/brunnojob/octometrics-engine.git
cd octometrics-engine
git checkout 733b0bbcfed35d1b1b642969c27f692993bb40a4
python .proof/record.py