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:
| Environment | Purpose | Base URL |
|---|---|---|
| Production | Live environment | https://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:
- 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
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:
- Consultez notre FAQ API
- Consultez les notes de version de l'API pour connaître les problèmes connus.
- Contactez le soutien d'Equinix (https://support.equinix.com) pour obtenir de l'aide.