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
Esta seção orienta você na configuração do seu ambiente para testar as APIs da Equinix.
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 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
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 no Portal do Cliente.
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
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_id>",
"client_secret": "<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
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
A Equinix fornece guias de teste específicos para APIs de produtos individuais:
- Smarthands API Testing - Testing the Smarthands remote services API
- Shipment API Testing - Testing the Shipments API for data center deliveries
- Work Visit API Testing - Testing the Work Visits API for IBX access scheduling
- Cross Connect API Testing - Testing the Cross Connect API for physical cable connections
- Trouble Ticket API Testing - 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.
Precisar de ajuda?
Se você encontrar problemas ao testar as APIs da Equinix:
- Consulte nossas Perguntas Frequentes da API
- Consulte as Notas de versão da API para obter informações sobre problemas conhecidos.
- Contate o Suporte da Equinix para obter assistência.