Verifica di un'API con l' ambiente di test Test Environment

Usa il Locale Test Environment (LTE) per testare le API sul tuo computer locale, senza la necessità di connetterti a unAPI Connect server di gestione. L' ambiente di test Test Environment è un API Manager leggero in esecuzione sulla macchina locale. Consente di testare rapidamente le API localmente.

API Connect fornisce i seguenti metodi per il test di una API sulla tua macchina locale:
  • Richiama l'API dall'applicazione IU API Designer in esecuzione in modalità online come descritto in Test di una API.
  • Richiama l'API in Ambiente di test Test Environment con il comando cURL , come descritto nelle seguenti sezioni.

Prerequisiti

  • Il API Connect developer toolkit, inclusa l'interfaccia utente API Designer , installato. Per istruzioni sull'installazione e sull'esecuzione, vedi Configurazione del toolkit API Connect.
  • L' Ambiente di test Test Environment e API Designer devono provenire dalla stessa release del fix pack API Connect per poter lavorare insieme.
  • Docker installato.
    Nota: l' ambiente di test Test Environment non è supportato con Docker Versione 18.09.x.
  • Almeno 4 GB di RAM disponibili per Docker se viene utilizzato un singolo tipo di gateway oppure 6 GB se vengono utilizzati sia DataPower® API Gateway che DataPower Gateway (v5 compatible) .
    Nota: quando aumenti il numero di API pubblicate nei tuoi gateway, dovrai assegnare ulteriore memoria a Docker. Sarà inoltre necessario avviare Ambiente di test Test Environment con un database più grande; consultare apic-lte start.
  • Se stai usando Windows, assicurati che la tua unità C: (o l'unità su cui si trova la tua directory HOME , se diversa), sia abilitata come unità condivisa in modo che i file Local Test Environment siano accessibili ai contenitori Docker .

Installazione di Ambiente di test Test Environment

Esistono due opzioni per l'installazione di Ambiente di test Test Environment:
  • Ogni utente scarica le immagini Test Environment locale sulla propria macchina locale e installa Test Environment locale da lì.
  • Un utente scarica le immagini Ambiente di test Test Environment e le carica in un registro Docker privato, da dove qualsiasi utente può installare l' Ambiente di test Test Environment.
Per installare l' ambiente di test Test Environment dalla macchina locale, completare la seguente procedura:
  1. Aprite un browser e visitate il sito API Connect pagina di annuncio, cercate la versione del vostro prodotto e individuate la tabella "Download" nella pagina di annuncio del prodotto. Nella tabella, fare clic sul link per scaricare ciascuno dei seguenti file:
    • apic-lte-images-version.tar.gz, che contiene tutte le immagini Docker richieste.

      Esempio: apic-lte-images-10.0.2.tar.gz

    • apic-lte-platform-version, che sono file binari per le piattaforme macOS, Linux® e Windows.
      Esempi:
      • macOS: apic-lte-osx-10.0.2
      • Linux: apic-lte-linux-10.0.2
      • Windows: apic-lte-win-10.0.2
  2. Sulla piattaforma macOS o Linux, usare il comando chmod per rendere eseguibile il file binario; ad esempio:
    chmod +x linux-apic-lte
  3. Carica le immagini Docker nel tuo repository di immagini Docker locale immettendo il seguente comando:
    docker load < apic-lte-images.tar.gz
Nota: In tutti i comandi Test Environment locale utilizzati nella parte rimanente di questa pagina, sostituire piattaforma con macOS, linuxo windows, in base alla propria piattaforma, nel modo seguente:
  • macOS : sostituire platform-apic-lte con osx-apic-lte
  • Linux: sostituire platform-apic-lte con linux-apic-lte
  • Windows: sostituire platform-apic-lte con win-apic-lte
Per caricare le immagini Ambiente di test Test Environment in un registro Docker privato, completa la seguente procedura:
  1. Scaricare il file IBM_API_CONNECT_LOCAL_TEST_ENVIRO.zip come descritto nel passo 1.
  2. Distribuire il file binario appropriato a tutti gli utenti, in base alla piattaforma.
  3. Carica l' Ambiente di test Test Environment nel tuo registro Docker privato; immettere il seguente comando:
    platform-apic-lte registry-upload apic-lte-images.tar.gz registry_host
    dove registry_host è il nome host o l'indirizzo IP del tuo registro Docker privato. Ora, qualsiasi utente può installare ed eseguire Ambiente di test Test Environment nel modo seguente:
    1. Se il registro Docker privato richiede l'autenticazione, accedi immettendo il seguente comando:
      docker login registry_host
    2. Carica le immagini Docker nel tuo repository di immagini Docker locale immettendo il seguente comando:
      platform-apic-lte init registry_host

Avvio dell'ambiente di test locale Test Environment

  1. Avvia le immagini Docker immettendo il seguente comando:
    platform-apic-lte start
    Nota:
    • Per impostazione predefinita, il comando platform-apic-lte start avvia solo un DataPower API Gateway. Per avviare anche un DataPower Gateway (v5 compatible), immettere il seguente comando:
      platform-apic-lte start --datapower-gateway-enabled --datapower-api-gateway-enabled
    • L'avvio dell' Ambiente di test Test Environment potrebbe non riuscire con un messaggio di errore che include le stringhe Error: certificate is not yet valid e CERT_NOT_YET_VALID. La causa più probabile è che l'impostazione di data e ora non sia corretta sulla macchina su cui è in esecuzione Ambiente di test Test Environment. Assicurarsi che l'impostazione della data e dell'ora sia corretta, prima di tentare nuovamente il comando di avvio. Se utilizzi Docker per Windows, l'orologio nei contenitori Docker può diventare non sincronizzato con l'orologio di sistema, specialmente dopo che una macchina è stata messa in modalità di sospensione. In questo caso, il riavvio di Docker dovrebbe correggere la discrepanza dell'orario; per ulteriori informazioni, vedi https://github.com/docker/for-win/issues/4526.
    • Per impostazione predefinita, l'LTE inizia con un database di backend vuoto che non contiene API e prodotti che potrebbero essere stati pubblicati durante un'esecuzione precedente dell'LTE. Per avviare l'LTE con il database di back - end utilizzato durante la precedente esecuzione, utilizzare l'indicatore --keep-config, ad esempio platform-apic-lte start --keep-config. Quando si utilizza --keep-config , qualsiasi altro indicatore specificato per l'inizio viene ignorato. Vengono invece utilizzati gli stessi indicatori utilizzati durante l'avvio precedente, in particolare vengono abilitati gli stessi gateway.
  2. Verificare che l' Test Environment locale sia installato e in esecuzione correttamente immettendo i seguenti comandi:
    1. Verificare lo stato dei componenti LTE:
      platform-apic-lte status
      Questo output di questo comando mostra lo stato di tutti i componenti e fornisce i dettagli di endpoint e di autenticazione e deve essere simile al seguente:
      Container                       Status
      ---------                       ------
      apic-lte-apim                   Up 3 minutes
      apic-lte-datapower-gateway      Not Running
      apic-lte-datapower-api-gateway  Up 2 minutes
      apic-lte-db                     Up 3 minutes
      apic-lte-juhu                   Up 3 minutes
      apic-lte-lur                    Up 3 minutes
      
      - Platform API url: https://localhost:2000
      - Admin user: username=admin, password=7iron-hide
      - 'localtest' org owner: username=shavon, password=7iron-hide
      - 'localtest' org sandbox test app credentials client id: 80963e74076afe50d346d76401c3c08a
      - Datapower API Gateway API base url: https://localhost:9444/localtest/sandbox/
    2. Accedere al server di gestione:
      apic login --server localhost:2000 --username shavon --password 7iron-hide --realm provider/default-idp-2
      
      Questo comando conferma che è possibile accedere al server di gestione e la risposta deve essere la seguente:
      Logged into localhost:2000 successfully
      Problema noto: se si riceve un errore durante il login, arrestare e riavviare LTE; quindi eseguire nuovamente il login.
Nota: per configurare le credenziali del toolkit per l'Test Environment locale, utilizzare il seguente comando:
apic client-creds:set ~/.apic-lte/credentials.json

Preparazione di una API per il test in Ambiente di test Test Environment

Per preparare un'API per il test in Ambiente di test Test Environment, devi pubblicarla nel catalogo Sandbox in Ambiente di test Test Environment. Se vuoi testare un'API che hai già pubblicato, procedi a Test di un'API nell' Test Environmentlocale., altrimenti, completare la seguente procedura:
  1. Avviare l'interfaccia utente di API Designer con il seguente comando:
    APIC_DESIGNER_CREDENTIALS=~/.apic-lte/credentials.json <path-to-designer>
  2. Aprire la directory locale richiesta; questa è la directory in cui verranno archiviati i file di definizione API e prodotto.
  3. Connettersi a Ambiente di test Test Environment. Se non ti sei precedentemente connesso all' Ambiente di test Test Environment, fai clic su Aggiungi un altro Cloud, quindi completa la seguente procedura:
    1. Nel campo URL HOST, inserire https://localhost:2000, quindi fare clic su Avanti.
    2. Nel campo Nome utente , immettere shavon, nel campo Password immettere 7iron-hide, quindi fare clic su Accedi.
      Nota:
      • Se non si riesce a connettersi all' Test Environment locale usando https://localhost:2000, inserire invece https://127.0.0.1:2000 nel campo URL HOST.
      • Se ricevi un errore durante il login, arresta e riavvia l'LTE, quindi accedi di nuovo con API Designer.

    Se in precedenza è stata effettuata la connessione a Ambiente di test Test Environment, fare clic sul riquadro esistente per accedere immediatamente.

    Viene aperta la pagina di benvenuto di API Designer .

  4. Fai clic su Develop APIs and Products, quindi sull'API che vuoi testare. Per informazioni su come configurare una definizione di API, vedere Sviluppo di API e applicazioni.
  5. Devi pubblicare la tua API prima del test. Per istruzioni su come pubblicare un'API, vedere Pubblicazione di una bozza di prodotto
    Nota: ogni volta che si apportano modifiche a un'API, è necessario ripubblicarla prima di rieseguire il test.

Verifica di un'API in Ambiente di test Test Environment.

Per testare un'API nell' Test Environment locale, effettuare una chiamata API REST al seguente URL :
https://localhost:9444/localtest/sandbox/basepath/operation_path?client_id=lte_client_id
dove:
  • basepath è il percorso di base configurato nella definizione API.
  • operation_path è il percorso dell'operazione che vuoi richiamare, come configurato nella definizione dell'API.
  • lte_client_id è l'ID client per l'applicazione di test nell'ambiente di verifica locale, come restituito dal comando platform-apic-lte status nel passo 2.
Il seguente esempio mostra come verificare l'API creata nell'esercitazione Creazione di una definizione dell'API REST proxy, utilizzando il programma di utilità curl ; l'API restituisce i dettagli delle filiali della banca:
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"}}]

Comandi Ambiente di test Test Environment

La seguente tabella riepiloga i comandi Ambiente di test Test Environment ; utilizzare il comando help per ottenere i dettagli di utilizzo completi per qualsiasi comando.
Tabella 1. Test Environment riepilogo comandi
Comando Descrizione
platform-apic-lte help command Visualizzare le informazioni di aiuto per qualsiasi comando.
platform-apic-lte init Scarica le immagini Ambiente di test Test Environment Docker .
platform-apic-lte start Avvia le immagini Ambiente di test Test Environment Docker . Utilizzare il parametro --database-max-heap-size per impostare la dimensione del database Ambiente di test Test Environment , in byte; ad esempio:
linux-apic-lte start --database-max-heap-size 4096M
linux-apic-lte start --database-max-heap-size 1G
linux-apic-lte start --database-max-heap-size 1048576K
linux-apic-lte start --database-max-heap-size 1073741824
Il valore predefinito è 1024M.
Suggerimento: per impostazione predefinita, il comando platform-apic-lte start elimina tutti i dati precedenti e reinizializza la configurazione Ambiente di test Test Environment , in modo che tutta la configurazione precedente, inclusi i prodotti pubblicati, venga eliminata. Per conservare la configurazione precedente e applicare gli stessi parametri di comando utilizzati nel precedente comando platform-apic-lte start , fornire il parametro --keep-config .
platform-apic-lte status Visualizzare le informazioni sullo stato per i componenti Ambiente di test Test Environment e i dettagli di autenticazione ed endpoint.
platform-apic-lte stop Arresta le immagini Ambiente di test Test Environment Docker .
platform-apic-lte version Visualizzare le informazioni sulla versione Ambiente di test Test Environment .

Risoluzione dei problemi di Ambiente di test Test Environment

È possibile consultare il file di log per ogni microservizio o database Ambiente di test Test Environment utilizzando il seguente comando:

docker logs container-name
dove nome - contenitore è uno dei seguenti:
  • apic-lte-juhu: il gateway di autenticazione
  • apic-lte-apim: il servizio API Management
  • apic-lte-lur: il registro utente locale
  • apic-lte-db: il database Postgres del servizio API Management
  • apic-lte-datapower-api-gateway: DataPower API Gateway
  • apic-lte-datapower-gateway: DataPower Gateway (v5 compatible)

È possibile accedere ai log del gateway in uno dei seguenti modi:

  • Utilizzare l'interfaccia utente Web di gestione del gateway:
    1. Aprire la pagina https://localhost:web_ui_port in un browser; per i dettagli del valore di porta richiesto, consultare Valori di porta dell'ambiente di test Test Environment.
    2. Selezionare il dominio apiconnect e l'interfaccia WebGUI e accedere con nome utente admin e password admin.
    3. Fare clic su Visualizza log.
  • Utilizza la CLI di gestione del gateway:
    1. Apri una connessione SSH utilizzando il seguente comando:
      ssh -p gateway-ssh-port localhost
      Per i dettagli del valore di porta richiesto, consultare Valori di porta dell'ambiente di test Test Environment. Il nome utente è admin e la password è admin.
    2. Immettere il comando switch domain apiconnect.
    3. Per visualizzare il log del gateway, immettere il comando show log.
    4. Per visualizzare il log per la comunicazione tra il gateway e il sistema di gestione API, immettere il comando show logging gwd-log.

Valori della porta Ambiente di test Test Environment

Se uno dei valori di porta predefiniti per i componenti dell' Ambiente di test Test Environment è in conflitto con le porte già in uso sul sistema, è possibile modificarli quando si avvia l' Ambiente di test Test Environment passando uno o più parametri --component port_value al comando platform-apic-lte start , dove:
  • component è il componente Ambiente di test Test Environment di cui si desidera modificare il valore della porta.
  • valore_porta è il valore richiesto.
Ad esempio:
platform-apic-lte start --datapower-api-gateway-api-port 9445
La seguente tabella elenca i componenti, insieme ai parametri component corrispondenti, e i valori porta predefiniti:
Componente parametro component Valore porta predefinito
DataPower API Gateway Porta API datapower-api-gateway-api-port 9444
Porta del servizio DataPower API Gateway API Connect datapower-api-gateway-apic-service-port 3001
DataPower API Gateway Porta di gestione REST datapower-api-gateway-rest-management-port 5555
DataPower API Gateway Porta SSH datapower-api-gateway-ssh-port 9023
IU Web di gestione DataPower API Gateway datapower-api-gateway-web-gui-port 9091
DataPower API Gateway Porta di gestione XML datapower-api-gateway-xml-management-port 5551
DataPower Gateway (v5 compatible) Porta API datapower-gateway-api-port 9443
Porta del servizio DataPower Gateway (v5 compatible) API Connect datapower-gateway-apic-service-port 3000
DataPower Gateway (v5 compatible) Porta di gestione REST datapower-gateway-rest-management-port 5554
DataPower Gateway (v5 compatible) Porta SSH datapower-gateway-ssh-port 9022
IU Web di gestione DataPower Gateway (v5 compatible) datapower-gateway-web-gui-port 9090
DataPower Gateway (v5 compatible) Porta di gestione XML datapower-gateway-xml-management-port 5550
Porta API della piattaforma platform-api-port 2.000 $