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
- Abra Mocks no Maestro e selecione o espaço de trabalho ao qual o mock pertence.
- 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.
- 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. - 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.
- 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.