Skip to main content

Tests généraux d'API

Des tests d'API efficaces constituent un élément essentiel à la réussite de toute intégration avec les services Equinix. Ce guide présente les meilleures pratiques, les outils et les méthodologies nécessaires pour assurer la robustesse et la fiabilité de vos implémentations d'API.

Premiers pas avec les tests d'API

Cette section vous guide dans la configuration de votre environnement de test des API Equinix.

Configuration de l'environnement de test

Authentification: Toutes les API Equinix sont sécurisées par OAuth2. Avant d'effectuer un appel d'API, vous devez obtenir un jeton d'accès. Consultez notre guide d'authentification API pour obtenir des instructions détaillées sur la façon d'obtenir votre client_id et votre client_secret et de les utiliser pour générer un jeton.

Données de test: Certaines requêtes API peuvent nécessiter des ressources existantes (un identifiant d'organisation ou un port spécifique). Vous devrez peut-être créer ces ressources au préalable via le portail Équinix ou l'API. Consultez la documentation de l'API concernée pour connaître les données requises pour vos cas de test.

Rôles et permissions: Vos identifiants API sont associés à un compte utilisateur et héritent de ses autorisations. Assurez-vous que ce compte utilisateur a les rôles et les permissions nécessaires pour effectuer les actions que vous voulez tester. Par exemple, pour créer une connexion Fabric, vous aurez peut-être besoin des autorisations « Gestionnaire de connexions ». Ces autorisations sont propres au produit et peuvent être gérées dans le portail client Equinix.

Entrées courantes: Avant de commencer les tests, rassemblez les éléments d'entrée communs suivants:

  • URL du point de terminaison de l'API: L'URL de base du service que vous testez (par exemple, https://api.equinix.com/fabric/v4).
  • Jeton d'authentification: Un jeton OAuth2 valide.
  • Identifiants de ressources: UUID de toutes les ressources existantes avec lesquelles vous interagirez (par exemple, port_uuid, organization_id).
  • Charges utiles du corps de la requête: Charges utiles JSON pour les requêtes POST ou PUT, structurées conformément aux spécifications de l’API.

Environnements de test

Equinix fournit l'environnement de production pour votre intégration d'API:

EnvironmentPurposeBase URL
ProductionLive environmenthttps://api.equinix.com

Pour utiliser cet environnement, vous devrez enregistrer une application et générer des informations d'identification client dans le portail client.

Outils de test recommandés

Nous recommandons les outils suivants pour tester les API Equinix:

  • Postman: Créez et partagez des collections d'API pour les tests manuels et automatisés.
  • cURL: outil en ligne de commande pour une interaction rapide avec les API
  • Jest/Mocha: Cadres de test JavaScript pour les tests automatisés
  • Python Requests: Bibliothèque HTTP simple pour les tests basés sur Python

Flux de travail de test

Valider l'authentification

# 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"))

Créez des scénarios de test complets qui couvrent l'intégralité du parcours utilisateur:

  • Mise en service d'un nouveau service
  • Configurer les paramètres de service
  • État du service de consultation
  • Mise à jour de la configuration du service
  • Provisionner le service
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}"

Gestion des erreurs de test

Assurez-vous que votre application gère correctement les erreurs d'API:

  • Test avec des paramètres non valides
  • Test avec une authentification incorrecte
  • Test avec des jetons expirés
  • Vérifier les formats de réponse d'erreur

Essais de produits API

Equinix fournit des guides de test spécifiques pour chaque API de produit:

Chaque guide s'appuie sur ces principes généraux de test tout en fournissant des exemples et des meilleures pratiques spécifiques au produit.

Besoin d'aide ?

Si vous rencontrez des problèmes lors du test des API Equinix:

Cette page vous a-t-elle été utile ?