Test d'une API avec l'environnement de test local Test Environment
Utilisez le Locale Test Environment (LTE) pour tester les API sur votre machine locale, sans avoir besoin de vous connecter à unAPI Connect serveur de gestion. L' environnement de test Test Environment est un gestionnaire d'API simple qui s'exécute sur votre machine locale. Il vous permet de tester rapidement les API en local.
API Connect fournit les méthodes suivantes pour tester une API sur votre machine locale:
- Appelez l'API à partir de l'application d'interface utilisateur API Designer qui s'exécute en mode en ligne, comme décrit dans Test d'une API.
- Appelez l'API dans l' environnement de test Test Environment à l'aide d'une commande cURL , comme décrit dans les sections suivantes.
Prérequis
- API Connect toolkit de développement, y compris l'interface utilisateur Concepteur d'API , installé. Pour obtenir des instructions d'installation et d'exécution, voir Configuration du kit d'outils API Connect.
- L' environnement de test Test Environment et le concepteur d'API doivent provenir du même groupe de correctifs API Connect pour qu'ils puissent fonctionner ensemble.
- Docker doit être installé.Remarque: l'environnement de test local Test Environment n'est pas pris en charge avec Docker version 18.09.x.
- Un minimum de 4 Go de mémoire RAM est disponible pour Docker si un seul type de passerelle est utilisé, ou de 6 Go si DataPower® API Gateway et DataPower Gateway (v5 compatible) sont utilisés.Remarque: Lorsque vous augmentez le nombre d'API publiées sur vos passerelles, vous devez allouer davantage de mémoire à Docker. Vous devrez également démarrer l' environnement de test Test Environment avec une base de données plus grande ; voir
apic-lte start. - Si vous utilisez Windows, vérifiez que votre unité C: (ou l'unité sur laquelle se trouve votre répertoire HOME , si elle est différente) est activée en tant qu'unité partagée de sorte que les fichiers Local Test Environment soient accessibles aux conteneurs Docker .
Installation de l' environnement de test Test Environment
Il existe deux options pour l'installation de l' environnement de test Test Environment:
- Chaque utilisateur télécharge les images Environnement de test Test Environment sur sa machine locale et installe l' Environnement de test Test Environment à partir de là.
- Un utilisateur télécharge les images de l' environnement de test Test Environment et les télécharge dans un registre Docker privé, à partir duquel n'importe quel utilisateur peut installer l'environnement de test local Test Environment.
Pour installer l' environnement de test Test Environment à partir de votre machine locale, procédez comme suit:
Remarque: dans toutes les commandes Local Test Environment utilisées dans le reste de cette page, remplacez platform par
macOS, linuxou windows, en fonction de votre plateforme, comme suit:- macOS : remplacer
platform-apic-lteparosx-apic-lte - Linux: remplacez
platform-apic-lteparlinux-apic-lte - Windows: remplacez
platform-apic-lteparwin-apic-lte
Pour télécharger les images Local Test Environment dans un registre Docker privé, procédez comme suit:
Démarrage de l' environnement de test Test Environment
- Démarrez les images Docker en exécutant la commande suivante:
platform-apic-lte startRemarque :- Par défaut, la commande
platform-apic-lte startdémarre uniquement un DataPower API Gateway. Pour démarrer également un DataPower Gateway (v5 compatible), entrez la commande suivante:platform-apic-lte start --datapower-gateway-enabled --datapower-api-gateway-enabled - Le démarrage de l' environnement de test Test Environment peut échouer avec un message d'erreur qui inclut les chaînes
Error: certificate is not yet validetCERT_NOT_YET_VALID. La cause la plus probable est que le paramètre de date et d'heure est incorrect sur la machine qui exécute l' environnement de test Test Environment. Vérifiez que la date et l'heure sont correctes, avant de réessayer la commande de démarrage. Si vous utilisez Docker pour Windows, l'horloge des conteneurs Docker peut se désynchroniser de l'horloge système, en particulier lorsqu'une machine a été mise en mode veille. Dans ce cas, le redémarrage de Docker doit corriger la différence d'horloge. Pour plus d'informations, voir https://github.com/docker/for-win/issues/4526. - Par défaut, l'environnement de test local (LTE, Local Test Environment) démarre avec une base de données de back end vide qui ne contient ni les API ni
les produits qui devraient avoir été publiés lors d'une exécution précédente du LTE. Pour démarrer le LTE avec la
base de données de back end utilisée lors de la précédente exécution, utilisez l'indicateur
--keep-config, par exemple,platform-apic-lte start --keep-config. Lorsque vous utilisez--keep-configtout autre indicateur spécifié pour le démarrage est ignoré. Ce sont les indicateurs utilisés lors du démarrage précédent qui sont utilisés, notamment les mêmes passerelles qui sont activées.
- Par défaut, la commande
- Vérifiez que l' Test Environment local est installé et s'exécute correctement en exécutant les commandes suivantes:
Remarque : pour configurer les informations d'identification de la boîte à outils pour l'Test Environment local, utilisez la commande suivante :
apic client-creds:set ~/.apic-lte/credentials.jsonPréparation d'une API pour le test dans l'environnement de test local Test Environment
Pour préparer une API à des tests dans l' environnement de test Test Environment, vous devez la publier dans le catalogue pour bac à sable dans l' environnement de test Test Environment. Si vous souhaitez tester une API que vous avez déjà publiée, passez à la section Test d'une API dans l'environnement de test Test Environment. Sinon, procédez comme suit:
Test d'une API dans l' environnement de test Test Environment.
Pour tester une API dans l' Test Environment local, envoyez un appel API REST à l' URL suivante :
https://localhost:9444/localtest/sandbox/basepath/operation_path?client_id=lte_client_idoù :- chemin_de_base est le chemin de base qui est configuré dans la définition d'API.
- chemin_opération est le chemin de l'opération que vous souhaitez appeler, tel qu'il est configuré dans la définition d'API.
- lte_client_id est l'ID client de l'application de test dans l'environnement de test local, tel que renvoyé par la commande
platform-apic-lte statusà l'étape 2.
L'exemple suivant montre comment tester l'API créée dans le tutoriel Création d'une définition d'API REST de proxyà l'aide de l'utilitaire
curl ; l'API renvoie les détails des succursales bancaires:curl -k https://localhost:9444/localtest/sandbox/branches/details?client_id=80963e74076afe50d346d76401c3c08a
[{"id":"0b3a8cf0-7e78-11e5-8059-a1020f32cce5","type":"atm","address":{"street1":"600 Anton Blvd.","street2":"Floor 5","city":"Costa Mesa","state":"CA","zip_code":"92626"}},
{"id":"9d72ece0-7e7b-11e5-9038-55f9f9c08c06","type":"atm","address":{"street1":"4660 La Jolla Village Drive","street2":"Suite 300","city":"San Diego","state":"CA","zip_code":"92122"}},
{"id":"ae648760-7e77-11e5-8059-a1020f32cce5","type":"atm","address":{"street1":"New Orchard Road","city":"Armonk","state":"NY","zip_code":"10504"}},
{"id":"c23397f0-7e76-11e5-8059-a1020f32cce5","type":"branch","phone":"512-286-5000","address":{"street1":"11400 Burnet Rd.","city":"Austin","state":"TX","zip_code":"78758-3415"}},
{"id":"ca841550-7e77-11e5-8059-a1020f32cce5","type":"atm","address":{"street1":"334 Route 9W","city":"Palisades","state":"NY","zip_code":"10964"}},
{"id":"dc132eb0-7e7b-11e5-9038-55f9f9c08c06","type":"branch","phone":"978-899-3444","address":{"street1":"550 King St.","city":"Littleton","state":"MA","zip_code":"01460-1250"}},
{"id":"e1161670-7e76-11e5-8059-a1020f32cce5","type":"branch","phone":"561-893-7700","address":{"street1":"5901 Broken Sound Pkwy. NW","city":"Boca Raton","state":"FL","zip_code":"33487-2773"}},
{"id":"f9ca9ab0-7e7b-11e5-9038-55f9f9c08c06","type":"atm","address":{"street1":"1 Rogers Street","city":"Cambridge","state":"MA","zip_code":"02142"}}]Commandes Local Test Environment
Le tableau suivant récapitule les commandes Local Test Environment ; utilisez la commande
help pour obtenir des détails complets sur l'utilisation de n'importe quelle commande.| Commande | Descriptif |
|---|---|
platform-apic-lte help command |
Affiche les informations d'aide sur une commande. |
platform-apic-lte init |
Téléchargez les images Local Test Environment Docker . |
platform-apic-lte start |
Démarrez les images Local Test Environment Docker . Utilisez le paramètre --database-max-heap-size pour définir la taille de la base de données Environnement de test Test Environment , en octets, par exemple:La valeur par défaut est 1024M.Astuce: Par défaut, la commande
platform-apic-lte start supprime toutes les données précédentes et réinitialise la configuration Environnement de test Test Environment , de sorte que toute votre configuration précédente, y compris les produits publiés, est supprimée. Pour conserver la configuration précédente et appliquer les mêmes paramètres de commande que ceux utilisés dans la commande platform-apic-lte start précédente, indiquez le paramètre --keep-config . |
platform-apic-lte status |
Affichez les informations de statut pour les composants Local Test Environment , ainsi que les détails de noeud final et d'authentification. |
platform-apic-lte stop |
Arrêtez les images Local Test Environment Docker . |
platform-apic-lte version |
Affichez les informations de version de l' environnement de test Test Environment . |
Traitement des incidents liés à l' environnement de test Test Environment
Vous pouvez consulter le fichier journal de chaque microservice ou base de données Local Test Environment à l'aide de la commande suivante:
docker logs container-name
où container-name est l'un des suivants:
apic-lte-juhu: la passerelle d'authentificationapic-lte-apim: le service API Managementapic-lte-lur: le Registre d'utilisateurs localapic-lte-db: la base de données Postgres du service API Managementapic-lte-datapower-api-gateway: DataPower API Gatewayapic-lte-datapower-gateway: DataPower Gateway (v5 compatible)
Vous accédez aux journaux des passerelles de l'une des façons suivantes :
Valeurs de port Local Test Environment
Si l'une des valeurs de port par défaut des composants Local Test Environment est en conflit avec des ports déjà utilisés sur votre système, vous pouvez les modifier lorsque vous démarrez l' Environnement de test Test Environment en transmettant un ou plusieurs paramètres
--component
port_value à la commande platform-apic-lte start , où:- component est le composant Local Test Environment dont vous souhaitez modifier la valeur de port.
- valeur_port est la valeur requise.
Par exemple :
platform-apic-lte start --datapower-api-gateway-api-port 9445Le tableau suivant répertorie les composants, ainsi que les paramètres composant correspondants et les valeurs de port par défaut :
| Composant | Paramètre component | Valeur de port par défaut |
|---|---|---|
| DataPower API Gateway Port d'API | datapower-api-gateway-api-port |
9444 |
| Port de service DataPower API Gateway API Connect | datapower-api-gateway-apic-service-port |
3001 |
| DataPower API Gateway Port de gestion REST | datapower-api-gateway-rest-management-port |
5555 |
| DataPower API Gateway Port SSH | datapower-api-gateway-ssh-port |
9023 |
| Interface utilisateur Web d'administration DataPower API Gateway | datapower-api-gateway-web-gui-port |
9091 |
| DataPower API Gateway Port de gestion XML | datapower-api-gateway-xml-management-port |
5551 |
| DataPower Gateway (v5 compatible) Port d'API | datapower-gateway-api-port |
9443 |
| Port de service DataPower Gateway (v5 compatible) API Connect | datapower-gateway-apic-service-port |
3000 |
| DataPower Gateway (v5 compatible) Port de gestion REST | datapower-gateway-rest-management-port |
5554 |
| DataPower Gateway (v5 compatible) Port SSH | datapower-gateway-ssh-port |
9022 |
| Interface utilisateur Web d'administration DataPower Gateway (v5 compatible) | datapower-gateway-web-gui-port |
9090 |
| DataPower Gateway (v5 compatible) Port de gestion XML | datapower-gateway-xml-management-port |
5550 |
| Port de l'API de la plateforme | platform-api-port |
2 000 |