DinhoDinho Docs

Configuração Segura em Produção

Execute testes sintéticos em produção sem afetar dados reais.

O Padrão is_synthetic_test

Adicione uma flag ao seu banco de dados para marcar dados gerados por testes:

ALTER TABLE users ADD COLUMN is_synthetic_test BOOLEAN DEFAULT FALSE;
ALTER TABLE orders ADD COLUMN is_synthetic_test BOOLEAN DEFAULT FALSE;
-- Adicione a qualquer tabela que seus testes vão escrever

Crie uma Conta de Teste

  1. Crie uma conta dedicada para testes (ex: dinho-monitor@seuapp.com)
  2. Adicione lógica de limpeza no seu app para dados sintéticos:
// Exemplo: middleware de limpeza
if (sessao.usuario.isSyntheticTest) {
  // Não enviar emails reais
  // Não cobrar cartões reais
  // Marcar registros criados com is_synthetic_test=true
}

Armazene as Credenciais no Dinho

O Dinho tem um cofre de credenciais criptografado com AES-256-GCM. Use-o para armazenar as credenciais da conta de teste — elas ficam disponíveis no script como credentials.<LABEL>.

Via MCP (recomendado): peça ao agente para criar as credenciais:

Crie credenciais de teste para o projeto: EMAIL e PASSWORD

O agente vai chamar dinho_create_credentials, criar os placeholders e retornar o link do dashboard para você preencher os valores.

Via dashboard: acesse Dashboard → Projeto → Credenciais e adicione manualmente.

No script, acesse assim:

// No playwrightScript do dinho_create_test:
await page.goto("https://seuapp.com/login");
await page.fill('[name="email"]', credentials.EMAIL);
await page.fill('[name="password"]', credentials.PASSWORD);

O Que NÃO Testar em Produção

  • Fluxos de pagamento com cartões reais
  • E-mails que notificam usuários reais
  • Operações destrutivas (excluir conta, etc.)

Use a flag is_synthetic_test para pular esses caminhos quando executar pelo Dinho.