# Testes gerais de API Testes de API eficazes são um componente crítico para qualquer integração bem-sucedida com os serviços da Equinix. Este guia fornece as melhores práticas, ferramentas e metodologias para garantir que suas implementações de API sejam robustas e confiáveis. ## Primeiros passos com testes de API[​](#primeiros-passos-com-testes-de-api "Link direto para Primeiros passos com testes de API") Esta seção orienta você na configuração do seu ambiente para testar as APIs da Equinix. ## Configurando o ambiente de teste[​](#configurando-o-ambiente-de-teste "Link direto para Configurando o ambiente de teste") **Autenticação:** Todas as APIs da Equinix são protegidas usando OAuth2. Antes de fazer qualquer chamada à API, você precisa obter um token de acesso. Consulte nosso [guia de autenticação de API](https://docs.equinix.com/pt-BR/equinix-api/api-authentication.md) para obter instruções detalhadas sobre como obter seu `client_id` e `client_secret` e como usá-los para gerar um token. **Dados de teste:** Algumas chamadas de API podem exigir recursos existentes (um ID de organização ou uma porta específica). Talvez seja necessário criar esses recursos primeiro por meio do portal da Equinix ou via API. Consulte a documentação da API específica para obter orientações sobre quais dados são necessários para seus casos de teste. **Funções e Permissões:** Suas credenciais de API estão vinculadas a uma conta de usuário e herdam suas permissões. Certifique-se de que a conta de usuário tenha as funções e permissões necessárias para executar as ações que você deseja testar. Por exemplo, para criar uma conexão Fabric, você pode precisar de permissões de "Gerenciador de Conexões". Essas permissões são específicas do produto e podem ser gerenciadas no Portal do Cliente da Equinix. **Entradas comuns:** Antes de começar os testes, reúna as seguintes informações comuns: * **URL do endpoint da API:** A URL base do serviço que você está testando (por exemplo, `https://api.equinix.com/fabric/v4`). * **Token de autenticação:** Um token OAuth2 válido. * **Identificadores de recursos:** UUIDs para quaisquer recursos existentes com os quais você interagirá (por exemplo, `port_uuid`, `organization_id`). * **Payloads do corpo da requisição:** Payloads JSON para requisições POST ou PUT, estruturados de acordo com a especificação da API. ## Ambientes de teste[​](#ambientes-de-teste "Link direto para Ambientes de teste") A Equinix fornece o ambiente de produção para a integração da sua API: | Environment | Purpose | Base URL | | ----------- | ---------------- | ------------------------- | | Production | Live environment | `https://api.equinix.com` | Para usar este ambiente, você precisará [registrar um aplicativo e gerar credenciais do cliente](https://docs.equinix.com/pt-BR/equinix-api/api-authentication.md#generate-client-id-and-client-secret) no Portal do Cliente. ## Ferramentas de teste recomendadas[​](#ferramentas-de-teste-recomendadas "Link direto para Ferramentas de teste recomendadas") Recomendamos as seguintes ferramentas para testar as APIs da Equinix: * **Postman**: Crie e compartilhe coleções de API para testes manuais e automatizados. * **cURL**: Ferramenta de linha de comando para interação rápida com APIs * **Jest/Mocha**: Frameworks de teste JavaScript para testes automatizados * **Python Requests**: Biblioteca HTTP simples para testes baseados em Python ## Fluxo de trabalho de teste[​](#fluxo-de-trabalho-de-teste "Link direto para Fluxo de trabalho de teste") **Validar Autenticação** ``` # Short runnable authentication test using requests import requests auth_url = "https://api.equinix.com/oauth2/v1/token" auth_payload = { "grant_type": "client_credentials", "client_id": "", "client_secret": "" } response = requests.post(auth_url, data=auth_payload) data = response.json() print("Status code:", response.status_code) print("Access token:", data.get("access_token")) print("Expires in:", data.get("token_timeout")) ``` Crie cenários de teste abrangentes que cubram jornadas completas do usuário: * Fornecer um novo serviço * Configurar parâmetros de serviço * Consultar o estado do serviço * Atualizar configuração do serviço * Desativar o serviço ``` import requests import json # Setup authentication auth_url = "https://api.equinix.com/oauth2/v1/token" auth_payload = { "grant_type": "client_credentials", "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET" } auth_response = requests.post(auth_url, data=auth_payload) token = auth_response.json()["access_token"] # Test creating a connection base_url = "https://api.equinix.com/fabric/v4" headers = { "Authorization": f"Bearer {token}", "Content-Type": "application/json" } # Create connection payload connection_payload = { "type": "EVPL_VC", "name": "My-Layer2-Connection-3", "bandwidth": 1000, "redundancy": { "priority": "PRIMARY" }, "aSide": { "accessPoint": { "type": "COLO", "port": { "uuid": "a8ba52de-faae-43b5-b0b1-6904d37ee063" }, "linkProtocol": { "type": "DOT1Q", "vlanTag": 1001 } } }, "order": { "purchaseOrderNumber": "po1234" }, "zSide": { "accessPoint": { "type": "COLO", "port": { "uuid": "a00cef6f-8e35-4794-9ff9-665e084e4e6d" }, "linkProtocol": { "type": "DOT1Q", "vlanTag": 1001 } } }, "notifications": [ { "type": "ALL", "emails": [ "test@test.com" ] } ] } # Test creating a connection create_response = requests.post( f"{base_url}/connections", headers=headers, data=json.dumps(connection_payload) ) # Verify response assert create_response.status_code == 201, f"Failed to create connection: {create_response.text}" connection_id = create_response.json()["uuid"] # Test retrieving connection details get_response = requests.get( f"{base_url}/connections/{connection_id}", headers=headers ) assert get_response.status_code == 200, f"Failed to retrieve connection: {get_response.text}" ``` ## Tratamento de erros de teste[​](#tratamento-de-erros-de-teste "Link direto para Tratamento de erros de teste") Verifique se seu aplicativo lida corretamente com erros de API: * Teste com parâmetros inválidos * Teste com autenticação incorreta * Teste com tokens expirados * Verifique os formatos de resposta de erro. ## Teste de produto API[​](#teste-de-produto-api "Link direto para Teste de produto API") A Equinix fornece guias de teste específicos para APIs de produtos individuais: * [Smarthands API Testing](https://docs.equinix.com/pt-BR/equinix-api/testing/smarthands.md) - Testing the Smarthands remote services API * [Shipment API Testing](https://docs.equinix.com/pt-BR/equinix-api/testing/shipments.md) - Testing the Shipments API for data center deliveries * [Work Visit API Testing](https://docs.equinix.com/pt-BR/equinix-api/testing/workvisits.md) - Testing the Work Visits API for IBX access scheduling * [Cross Connect API Testing](https://docs.equinix.com/pt-BR/equinix-api/testing/crossconnects.md) - Testing the Cross Connect API for physical cable connections * [Trouble Ticket API Testing](https://docs.equinix.com/pt-BR/equinix-api/testing/troubleticket.md) - Testing the Trouble Ticket API for support ticket management Cada guia se baseia nesses princípios gerais de teste, ao mesmo tempo que fornece exemplos específicos do produto e práticas recomendadas. ## Precisa de ajuda?[​](#precisa-de-ajuda "Link direto para Precisa de ajuda?") Se você encontrar problemas ao testar as APIs da Equinix: * Consulte nossas [Perguntas Frequentes da API](https://docs.equinix.com/pt-BR/equinix-api/api-faqs.md) * Consulte as [Notas de versão da API](https://docs.equinix.com/pt-BR/equinix-api/release-notes/fabric-release-notes.md) para obter informações sobre problemas conhecidos. * Contate o [Suporte da Equinix](https://support.equinix.com) para obter assistência.