Pruebas generales de API
La comprobación eficaz de las API es un componente fundamental para el éxito de cualquier integración con los servicios de Equinix. Esta guía proporciona las mejores prácticas, herramientas y metodologías para garantizar que sus implementaciones de API sean sólidas y fiables.
Introducción a las pruebas de API
Esta sección le guiará en la configuración de su entorno para probar las API de Equinix.
Configuración del entorno de pruebas
**Autenticación:**Todas las API de Equinix están protegidas mediante OAuth2. Antes de realizar cualquier llamada a la API, debe obtener un token de acceso. Consulte nuestra guía de autenticación de API para obtener instrucciones detalladas sobre cómo obtener su client_id y client_secret y cómo utilizarlos para generar un token.
**Datos de prueba:**Algunas llamadas a la API pueden requerir recursos existentes (un ID de organización o un puerto específico). Es posible que tenga que crear primero estos recursos a través del portal de Equinix o mediante la API. Consulte la documentación de la API específica para obtener orientación sobre los datos necesarios para sus casos de prueba.
**Roles y permisos:**Sus credenciales API están vinculadas a una cuenta de usuario y heredan sus permisos. Asegúrese de que la cuenta de usuario tiene los roles y permisos necesarios para realizar las acciones que desea probar. Por ejemplo, para crear una conexión Fabric, es posible que necesite permisos de "Administrador de conexiones". Estos son específicos de cada producto y pueden gestionarse en el Equinix Customer Portal.
**Entradas comunes:**Antes de comenzar las pruebas, reúna las siguientes entradas comunes:
- URL del punto final de la API: La URL base del servicio que está probando (por ejemplo,
https://api.equinix.com/fabric/v4). - Token de autenticación: Un token OAuth2 válido.
- Identificadores de recursos: UUIDs para cualquier recurso existente con el que vaya a interactuar (por ejemplo,
port_uuid,organization_id). - Cargas útiles del cuerpo de la solicitud: Cargas útiles JSON para solicitudes POST o PUT, estructuradas según la especificación de la API.
Entornos de prueba
Equinix proporciona el entorno de producción para la integración de su API:
| Environment | Purpose | Base URL |
|---|---|---|
| Production | Live environment | https://api.equinix.com |
Para utilizar este entorno, tendrá que registrar una aplicación y generar credenciales de cliente en el Portal del cliente.
Herramientas de prueba recomendadas
Recomendamos las siguientes herramientas para probar las API de Equinix:
- Postman: Cree y comparta colecciones de API para pruebas manuales y automatizadas
- cURL: Herramienta de línea de comandos para una rápida interacción con la API
- Jest/Mocha: Marcos de pruebas JavaScript para pruebas automatizadas
- Peticiones Python: Biblioteca HTTP simple para pruebas basadas en Python
Flujo de trabajo de pruebas
Validar autenticación
# 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"))
Cree escenarios de prueba exhaustivos que cubran recorridos de usuario completos:
- Aprovisionar un nuevo servicio
- Configurar los parámetros del servicio
- Consultar el estado del servicio
- Actualizar la configuración del servicio
- Dar de baja el servicio
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}"
Gestión de errores de prueba
Compruebe que su aplicación gestiona correctamente los errores de la API:
- Prueba con parámetros no válidos
- Prueba con autenticación incorrecta
- Prueba con tokens caducados
- Verificar los formatos de respuesta de error
Pruebas de productos API
Equinix proporciona guías de pruebas específicas para API de productos individuales:
- 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 guía se basa en estos principios generales de comprobación a la vez que proporciona ejemplos específicos de productos y mejores prácticas.
¿Necesita ayuda?
Si encuentra problemas mientras prueba las API de Equinix:
- Revise nuestra API FAQ
- Consulte las API Release Notes para conocer los problemas conocidos
- Póngase en contacto con Equinix Support para obtener ayuda