Hospedagem pública de mocks

Um mock dá à sua equipe respostas antes de a dependência real estar pronta. Use para desenvolver o frontend, preparar uma demonstração compartilhada ou testar erros e atrasos de propósito. O Echo pode responder às próprias requisições no desktop ou publicar o mock no serviço público em mock.gapfy.io, onde ganha uma URL HTTP que outra aplicação pode chamar. Um mock publicado continua respondendo sem o desktop ligado.

Os mocks locais interceptam requisições enviadas pelo próprio Echo; não abrem um servidor HTTP para outra aplicação.

Escolha onde o mock roda

  • Desktop local: mantenha as requisições na sua máquina enquanto cria e experimenta. Está incluído em todos os planos do Echo, incluindo o Free.
  • Hospedagem pública: forneça a outra máquina uma URL que ela possa chamar diretamente. Faz parte do Echo Pro e Pro AI.
  • Na sua aplicação .NET: use Mock.Client ou Mock.Server com regras obtidas por uma chave de aplicação. É um caminho diferente da URL pública, mas o feed de regras faz parte dos mesmos planos pagos.

Publique o primeiro mock

  1. Abra Mocks no Maestro e selecione o espaço de trabalho ao qual o mock pertence.
  2. Crie um servidor e adicione uma rota com método HTTP, padrão de caminho, status e resposta. Escolha uma resposta estática ou um contrato. Você também pode partir de um mock salvo e sincronizado pelo desktop.
  3. Abra o painel de hospedagem pública do servidor e ative a publicação. Publicar exige um plano Echo Pro ou Pro AI. Dentro desse plano você publica um mock do seu próprio espaço por ser o dono dele; publicar um mock de uma equipe exige a permissão Echo/ManageHosting, concedida por padrão ao administrador da organização.
  4. Copie a URL base exata apresentada no painel e acrescente o caminho da rota. O nome do host, por si só, não é um endpoint de mock.
  5. Chame a rota pela aplicação consumidora e verifique a resposta, incluindo X-Echo-Mock.

Os contratos permitem gerar respostas estruturadas e manter versões. As respostas estáticas servem quando você precisa de um corpo exato.

No plano gratuito, o painel abre e mostra o estado, mas não permite ativar a hospedagem pública nem trocar a chave pública: ele explica que esse recurso não está incluído no plano, enquanto o mock no desktop e os contratos continuam disponíveis. Não falta uma permissão que um administrador possa conceder. Para publicar, peça a quem cuida da assinatura da organização que atualize o plano do Echo em Configurações > Cobrança.

Limites da hospedagem pública

Um plano pago permite manter até 25 mocks publicados ao mesmo tempo por organização. Este é um limite rígido: a publicação de outro mock é recusada até você desativar um dos publicados. O serviço também mede 50.000 requisições por mês por assento. Ultrapassar essa franquia mensal não recusa requisições por esse motivo; os controles operacionais de tráfego do serviço continuam valendo.

Prepare uma rota útil

Comece com uma rota ativa e teste antes de adicionar outras. Por exemplo, crie GET /orders/{id} com status 200 e uma resposta JSON. O parâmetro de caminho captura o último segmento; uma resposta estática pode usá-lo como {{path.id}}. Chame a URL base copiada do Maestro seguida de /orders/42. O método e o caminho precisam corresponder a uma rota ativa.

Use um corpo estático para devolver um exemplo exato. Escolha o modo Contrato para gerar dados a partir de uma versão de contrato. Valores do caminho, parâmetros de consulta, cabeçalhos e corpo JSON da requisição podem fornecer dados ao contrato. Confira o resultado na prévia do contrato antes de publicar.

Se o contrato definir cenários, envie X-Echo-Scenario com o nome do cenário. X-Echo-Seed controla a geração aleatória para o mesmo contrato e as mesmas entradas, mas valores baseados na data ou hora atual ainda podem mudar. O cenário precisa existir no contrato. Um contrato inválido ou cenário desconhecido devolve um erro de geração; o serviço não troca silenciosamente o resultado pelo corpo de exemplo salvo.

Você pode configurar um atraso para testar carregamento e timeout na aplicação consumidora. O serviço limita esse atraso e pode responder sem ele quando a capacidade de atrasos simultâneos estiver ocupada. Use o mock para testes funcionais, sem tratar o atraso como garantia de tempo ou o serviço como ferramenta de teste de carga.

Regras das respostas

As respostas hospedadas aceitam até 2 MiB de conteúdo UTF-8. O corpo de uma requisição recebida aceita até 1 MiB. Use JSON comum ou outro tipo de conteúdo de dados permitido. HTML e outros conteúdos ativos exigem habilitação explícita no servidor e são entregues com restrições de isolamento no navegador.

Os cabeçalhos de resposta seguem uma lista de nomes permitidos. Para seus próprios metadados de teste, use nomes começando com X-Mock-. Cabeçalhos como Set-Cookie, Location e WWW-Authenticate não são repassados. O serviço também define seus próprios cabeçalhos de segurança. Uma chamada HEAD devolve os cabeçalhos sem o corpo.

Entenda uma chamada com falha

Resultado O que conferir
404 mock-server-not-found Copie novamente a URL pública atual. Confira se o identificador mudou ou a hospedagem foi desativada.
404 mock-route-not-matched Confira método HTTP, caminho e se a rota está ativa.
429 Reduza a frequência das chamadas e respeite Retry-After. Esse controle é separado da franquia mensal.
502 mock-generation-failed Leia o código e o caminho do diagnóstico e corrija o contrato ou cenário selecionado.
502 mock-response-too-large ou mock-content-type-not-allowed Reduza a resposta ou corrija o tipo de conteúdo e a opção de conteúdo ativo.
503 Confira o estado no Maestro e respeite Retry-After. Um mock suspenso e um serviço temporariamente indisponível exigem ações diferentes.

O uso conta as respostas configuradas que foram entregues. Uma rota não encontrada é acompanhada separadamente e não entra na medição mensal de respostas servidas. Por isso, a quantidade de tentativas pode ser diferente do uso apresentado.

Compartilhe com intenção

Qualquer pessoa que conheça a URL pública pode chamar as rotas. Essa URL não é protegida por uma chave de aplicação eck_. Use dados inventados, mantenha credenciais fora dos corpos e cabeçalhos e compartilhe a URL apenas com quem precisa dela.

O painel permite desativar a hospedagem pública ou trocar o identificador público para obter uma nova URL. A troca exige atualizar os clientes. Se a assinatura deixar de incluir hospedagem pública, após o fim de qualquer período de tolerância, um mock já publicado não é excluído: a URL e a chave pública permanecem. Quem chama recebe 503 com o código mock-server-suspended e o cabeçalho Retry-After; respeite o valor devolvido pelo serviço. O motivo mostrado no painel não aparece na URL pública. Quando houver novamente um plano elegível, a mesma URL volta a responder sem outra publicação, após a atualização das regras.

Uma suspensão manual aplicada pela plataforma é diferente: só um operador pode removê-la. Um bloqueio global pode terminar automaticamente no prazo definido pelo operador. O proprietário não consegue reativar o mock enquanto qualquer um deles continuar. Atualize o painel para consultar o estado atual.

Leve as regras para a aplicação

Aplicações e chaves explica o escopo separado ServeMocks, usado pelo feed de regras .NET. Escolha esse caminho quando sua aplicação deve servir ou interceptar requisições com regras do Echo, em vez de chamar a URL da hospedagem pública. Esse feed faz parte do Echo Pro e Pro AI, mesmo quando as regras não estão publicadas no serviço público.