Menu
Guides
VTEX IO Apps

VTEX IO Apps
Especificação Técnica: Integração CI/CD Conector & QA-Tests
Community extension
Version: 2.39.30
Latest version: 2.39.30

Este documento detalha o funcionamento do Gemini Gold Flow para a automação de testes E2E no conector Adyen, com foco no isolamento de ambientes (workspaces) e suporte automático a fluxos de 3DS.

1. Visão Geral do Fluxo

O pipeline do conector dispara gatilhos para o repositório qa-tests em três momentos distintos, enviando variáveis que definem o ambiente e o escopo dos testes.

Origem (Branch/Evento)Workspace VTEXEscopo E2E (E2E_SCOPE)Objetivo
Merge RequestDinâmica (Slug)smokeValidar a tarefa isolada.
Branch homologhomologsmokeValidar integração na homologação.
Branch release-candidate/*releasefullRegressão completa pré-produção.

2. Automação do VTEX Admin (Afiliação)

Para que o redirecionamento de 3DS e as notificações de webhook funcionem corretamente nas workspaces efêmeras, o projeto de QA deve atualizar o campo "Workspace" da afiliação Adyen via API antes de iniciar os testes do Playwright.

Dados da API VTEX

  • Endpoint: PUT https://{{account}}.vtexpayments.com.br/api/payments/pvt/affiliations/{{affiliation_id}}
  • Autenticação: Requer X-VTEX-API-AppKey e X-VTEX-API-AppToken.
  • Ação: O script deve ler a configuração atual, substituir o valor do campo workspace pelo valor recebido na variável VTEX_WORKSPACE e enviar o objeto completo de volta.

Exemplo de Lógica (TypeScript)


_14
// No repositório qa-tests (globalSetup ou Job de Setup)
_14
const updateWorkspace = async (newWorkspace: string) => {
_14
const url = `https://$\{process.env.VTEX_ACCOUNT\}.vtexpayments.com.br/api/payments/pvt/affiliations/$\{process.env.ADYEN_AFFILIATION_ID\}`;
_14
_14
// 1. Get current config
_14
const { data: config } = await axios.get(url, { headers });
_14
_14
// 2. Patch workspace
_14
config.workspace = newWorkspace;
_14
_14
// 3. Update Admin
_14
await axios.put(url, config, { headers });
_14
console.log(`Ambiente configurado para a workspace: $\{newWorkspace\}`);
_14
};


3. Gestão de Concorrência

Para evitar que dois testes simultâneos tentem configurar a mesma conta de QA com workspaces diferentes, o job de trigger no conector utiliza a funcionalidade resource_group.

  • Resource Group: adyen-qa-account
  • Comportamento: Se um MR já estiver rodando testes contra a conta de QA, o próximo MR ficará em fila (status Waiting) até que o anterior seja concluído.

4. Configuração Adyen (Customer Area)

Para que as múltiplas workspaces sejam aceitas pela Adyen, a credencial de API no painel da Adyen deve estar configurada com Wildcards na seção Allowed Origins:

  • URLs Permitidas: https://*.myvtex.com e https://*--adyenpartnerglobalqa7.myvtex.com.

5. Variáveis de Ambiente Necessárias no QA-Tests

O time de QA deve cadastrar os seguintes segredos no GitLab do projeto qa-tests:

  1. VTEX_APP_KEY: Chave de API da conta de QA.
  2. VTEX_APP_TOKEN: Token de API da conta de QA.
  3. ADYEN_AFFILIATION_ID: ID da afiliação Adyen no Admin (ex: 12345).

Status da Implementação:

  • Configuração de Gatilhos (Conector)
  • Separação de Workspaces (Conector)
  • Script de Update de Workspace (QA-Tests)
  • Filtro por E2E_SCOPE (QA-Tests)
On this page
Was this helpful?