Skip to main content

Tests généraux de l'API

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

Démarrer avec les tests d'API

Cette section vous guide dans la configuration de votre environnement pour tester les API Equinix.

Configuration de l'environnement de test

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

**Données de test :**Certains appels API peuvent nécessiter des ressources existantes (un identifiant d'organisation ou un port spécifique). Il se peut que vous deviez d'abord créer ces ressources sur le portail Equinix ou via l'API. Reportez-vous à la documentation de l'API spécifique pour savoir quelles données sont nécessaires pour vos cas de test.

**Rôles et autorisations :**Vos informations d'identification API sont liées à un compte d'utilisateur et héritent de ses autorisations. Assurez-vous que le compte utilisateur dispose des rôles et autorisations nécessaires pour effectuer les actions que vous souhaitez tester. Par exemple, pour créer une connexion Fabric, vous pourriez avoir besoin d'autorisations "Gestionnaire de connexion". Celles-ci sont spécifiques au produit et peuvent être gérées dans le portail Equinix Customer Portal.

**Intrants communs :**Avant de commencer les tests, rassemblez les intrants communs suivants :

  • API Endpoint URL : 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 pour toutes les ressources existantes avec lesquelles vous allez interagir (par exemple, port_uuid, organization_id).
  • Charges utiles du corps de la requête : Les charges utiles JSON pour les demandes POST ou PUT, structurées conformément à la spécification de l'API.

Environnements de test

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

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

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

Outils de test recommandés

Nous vous recommandons les outils suivants pour tester les API d'Equinix :

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

Flux de travail des tests

Validation de 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'ensemble du parcours de l'utilisateur :

  • Fournir un nouveau service
  • Configurez les paramètres du service
  • Demander l'état du service
  • Mettre à jour la configuration du service
  • Dé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

Vérifiez que votre application gère correctement les erreurs d'API :

  • Test avec des paramètres non valides
  • Test avec authentification incorrecte
  • Test avec des jetons expirés
  • Vérifier les formats de réponse aux erreurs

Essais de produits API

Equinix fournit des guides de test spécifiques pour les API des différents produits :

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

Besoin d'aide ?

Si vous rencontrez des problèmes en testant les API d'Equinix :

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