Ir al contenido principal

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:

EnvironmentPurposeBase URL
ProductionLive environmenthttps://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:

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:

¿Fue útil esta página?