Hospedagem pública de mocks

Um mock dá à sua equipa respostas antes de a dependência real estar pronta. Serve para desenvolver o frontend, preparar uma demonstração partilhada ou testar erros e atrasos de propósito. O Echo pode responder aos próprios pedidos no desktop ou publicar o mock no serviço público em mock.gapfy.io, onde ganha um URL HTTP que outra aplicação pode chamar. Um mock publicado continua a responder sem o desktop ligado.

Os mocks locais intercetam pedidos enviados pelo próprio Echo; não abrem um servidor HTTP para outra aplicação.

Escolha onde o mock corre

  • Desktop local: mantenha os pedidos 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 um URL que pode chamar diretamente. Faz parte do Echo Pro e Pro AI.
  • Na sua aplicação .NET: use Mock.Client ou Mock.Server com regras obtidas através de uma chave de aplicação. É um caminho diferente do URL público, 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 a que o mock pertence.
  2. Crie um servidor e adicione uma rota com método HTTP, padrão de caminho, estado e resposta. Escolha uma resposta estática ou um contrato. Também pode partir de um mock guardado e sincronizado pelo desktop.
  3. Abra o painel de hospedagem pública do servidor e ative a publicação. Publicar requer um plano Echo Pro ou Pro AI. Dentro desse plano publica um mock do seu próprio espaço por ser o proprietário; publicar um mock de uma equipa requer a permissão Echo/ManageHosting, atribuída por omissão ao administrador da organização.
  4. Copie o URL base exato apresentado 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 a partir da 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 precisa de um corpo exato.

Num plano gratuito, o painel abre e mostra o estado, mas não permite ativar a hospedagem pública nem renovar a chave pública: explica que esta funcionalidade não está incluída no plano, enquanto o mock no desktop e os contratos continuam disponíveis. Não é uma permissão em falta que um administrador possa conceder. Para publicar, peça a quem gere a subscrição da organização que atualize o plano do Echo em Definições > Faturação.

Limites da hospedagem pública

Um plano pago permite manter até 25 mocks publicados em simultâneo por organização. Este é um limite rígido: a publicação de outro mock é recusada até desativar um dos publicados. O serviço também mede 50 000 pedidos por mês por assento. Ultrapassar esta franquia mensal não recusa pedidos por esse motivo; continuam a aplicar-se os controlos operacionais de tráfego do serviço. O limite operacional de 300 pedidos por minuto e por mock pode devolver 429.

Prepare uma rota útil

Comece com uma rota ativa e teste-a antes de adicionar outras. Por exemplo, crie GET /orders/{id} com estado 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 o URL base copiado do Maestro seguido de /orders/42. O método e o caminho têm de 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 do pedido podem fornecer dados ao contrato. Confirme o resultado na pré-visualização 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 tem de 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 guardado.

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 alojadas aceitam até 2 MiB de conteúdo UTF-8. O corpo de um pedido recebido aceita até 1 MiB. Use JSON comum ou outro tipo de conteúdo de dados permitido. HTML e outros conteúdos ativos exigem ativaçã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 os seus próprios metadados de teste, use nomes começados por X-Mock-. Cabeçalhos como Set-Cookie, Location e WWW-Authenticate não são transmitidos. O serviço também define os 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 verificar
404 mock-server-not-found Copie novamente o URL público atual. Confirme se o identificador mudou ou a hospedagem foi desativada.
404 mock-route-not-matched Confirme método HTTP, caminho e se a rota está ativa.
429 Reduza a frequência das chamadas e respeite Retry-After. Este controlo é 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 Consulte 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.

Partilhe com intenção

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

O painel permite desativar a hospedagem pública ou renovar o identificador público para obter um novo URL. A renovação exige atualizar os clientes. Se a subscrição deixar de incluir hospedagem pública, depois de terminado qualquer período de tolerância, um mock já publicado não é apagado: o URL e a chave pública mantêm-se. 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 é exposto no URL público. Quando voltar a existir um plano elegível, o mesmo URL volta a responder sem nova publicação, após a atualização das regras.

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

Leve as regras para a aplicação

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