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 :
| Environment | Purpose | Base URL |
|---|---|---|
| Production | Live environment | https://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 :
- 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 bonnes pratiques spécifiques à chaque produit.
Besoin d'aide ?
Si vous rencontrez des problèmes en testant les API d'Equinix :
- Consultez notre FAQ API
- Consultez les API Release Notes pour connaître les problèmes connus.
- Contactez [Equinix Support] (https://support.equinix.com) pour obtenir de l'aide.