Test API personalizzate

In Oracle Mobile Hub è possibile eseguire il test delle API personalizzate prima che vengano distribuite utilizzando i dati mock. È inoltre possibile eseguire il test dei connettori di REST utilizzando la pagina di test che supporta due modalità: Test standard e Test avanzato.

Eseguire il test di un'interfaccia API personalizzata Oracle Mobile Hub

Per eseguire il test della propria interfaccia API personalizzata direttamente da Oracle Mobile Hub, effettuare le operazioni riportate di seguito.

  1. Collegarsi a Oracle Mobile Hub.
  2. Fare clic sull'icona del menu, quindi espandere Sviluppo e fare clic su Backend.
  3. Selezionare il backend mobile e fare clic su Apri.
  4. Fare clic su Impostazioni nella barra di navigazione a sinistra.
  5. Copiare l'URL dall'endpoint token SSO posizionato negli URL di ambiente.
  6. Incollare l'URL copiato in una finestra del browser Web, ma non premere il tasto Invio.
  7. Copiare l'ID client nella sezione Consumer OAuth.
  8. Aggiungere un parametro di stringa di query all'URL dell'endpoint del token SSO incollato nel browser Web nel formato?clientID=[YourClientID], quindi premere il tasto Invio. Un esempio di URL è simile al seguente:
    https://<YourSSOTokenEndpointURL>?clientID=<yourClientID>
    Il browser mostrerà un token OAuth Single Sign-On.
  9. Nella finestra del backend mobile fare clic sulla pagina API situata nella navigazione a sinistra. Il browser passa dalla pagina Impostazioni alla pagina API.
  10. Fare clic su Seleziona API.
  11. Fare clic sul nome dell'interfaccia API di cui si desidera eseguire il test. Viene visualizzata una nuova pagina che mostra gli endpoint API nella navigazione di sinistra nonché le schede Richiesta e Risposta.
  12. Fare clic sull'endpoint di cui si desidera eseguire il test.
  13. Nella sezione Autenticazione selezionare Token Single Sign-On dal metodo di autenticazione.
  14. Copiare il token OAuth SSO e incollarlo nel campo Token Single Sign-On.
  15. Fare clic su Endpoint di test. Se tutto è corretto, il server risponde con lo stato 200 e si dovrebbero visualizzare i dati JSON nella risposta.

Eseguire il test degli endpoint dell'API utilizzando i dati Mock

È possibile fornire dati mock nei corpi dei messaggi di richiesta e di risposta durante la fase di progettazione della configurazione dell'interfaccia API. Ciò consente di esaminare il contesto di ciascuna chiamata senza dover utilizzare i dati in tempo reale o interagire con un servizio in tempo reale. Ad esempio, per verificare se il codice gestisce correttamente un ID non valido, è possibile aggiungere un esempio nel corpo della richiesta con i dati mock che contengono un ID non valido. Al termine del test, è possibile sostituire l'esempio con un altro codice per verificare altri aspetti del metodo.

Nell'esempio FixItFast, i dati mock nel corpo della risposta consentono di verificare se vengono restituite le informazioni corrette sul cliente. Di seguito è riportato un esempio di dati mock che lo sviluppatore del servizio può creare per il corpo della risposta dell'operazione POST della risorsa contact nell'esempio FixItFast:
{
 "id": 20934,
 "title": "Lynn's Leaking Water Heater",
       "contact": {
       "name": "Lynn Adams",
       "street": "45 O'Connor Street",
       "city": "Ottawa",
       "postalcode": "ala1a1"
       "username":"johneta"
       }
 "status": "new",
 "driveTime": 30,
 "priority": "high",
 "createdon": "2015-04-23 18:12:03 EDT"
}

Quando si crea un'interfaccia API personalizzata, viene creata automaticamente un'implementazione mock. L'implementazione mock consente di richiamare l'interfaccia API dall'applicazione Mobile prima di implementare il codice personalizzato. Ciò consente di sviluppare e sottoporre a test le applicazioni Mobile e il codice personalizzato contemporaneamente. Se si è soddisfatti della configurazione, è possibile aggiungere un'implementazione reale.

Finché non viene creata la prima implementazione, l'implementazione predefinita è l'implementazione mock. Una volta creata, l'implementazione reale diventa l'implementazione predefinita per l'API.

Fare clic sul collegamento di navigazione Implementazioni per caricare un'implementazione o visualizzare le implementazioni esistenti. È possibile modificare l'implementazione predefinita nella pagina Implementazioni. Dopo aver caricato un'implementazione, viene visualizzata la lista delle implementazioni esistenti che include l'implementazione mock.

Test dell'API connettore REST

Dopo aver definito l'interfaccia API del connettore REST e aver salvato la configurazione, si desidera verificare che sia possibile inviare una richiesta e ricevere i risultati previsti dal servizio Web. Il test di una connessione è un passo facoltativo, ma è possibile risparmiare tempo identificando e risolvendo i problemi adesso prima di finalizzare l'API del connettore. La pagina Test consente di eseguire il test di un endpoint alla volta.

Se è stato fornito un descrittore, è possibile scegliere tra due modalità di test:

  • Test standard

    Se sono stati forniti metadati descrittori, viene visualizzata la modalità di test standard, in cui i corpi di richiesta e risposta vengono generati dai metadati descrittivi e visualizzati nelle schede Richiesta e Risposta. È necessario selezionare tutti i parametri con cui eseguire il test per i metodi GET e includere eventuali intestazioni HTTP con cui si desidera eseguire il test.

  • Test avanzato

    È possibile perfezionare il test selezionando Esecuzione test in modalità avanzata (la modalità di test specificata se è stato fornito un URL di servizio remoto). Senza metadati descrittivi, selezionare il metodo e la risorsa da sottoporre a test, includere eventuali intestazioni HTTP da includere e creare manualmente il corpo JSON.

Test in modalità avanzata

La pagina di test avanzata consente di impostare manualmente i parametri del percorso, aggiungere intestazioni e i payload delle richieste e delle risposte.

Per configurare manualmente un test del connettore, effettuare le operazioni riportate di seguito.

  1. Fare clic sul collegamento di navigazione Test.
  2. Se è stato fornito un descrittore, impostare Test in modalità avanzata su On.

    Se è stato fornito un URL di servizio remoto, la pagina di test avanzato viene visualizzata automaticamente.

  3. Selezionare il metodo HTTP di cui si desidera eseguire il test dall'elenco a discesa.
  4. Specificare i parametri del percorso della risorsa nel campo URI locale in base alle esigenze per eseguire i test. Ad esempio:
    directions/json?origin=los+angeles&destination=seattle

    Il campo viene automaticamente preceduto dall'URI locale definito quando è stato immesso un nome API. Dopo il nostro esempio, il contenuto completo del campo è il seguente:

    myMapAPI /directions/json?origin=los+angeles&destination=seattle

    Si noti che se si definiscono regole, nel campo Regole applicate (sotto il campo Corpo) vengono visualizzati i numeri corrispondenti alle regole applicabili per l'operazione selezionata. Il campo URL remoto mostra la stringa esatta che verrà passata al servizio per il test.

  5. Aggiungere una o più intestazioni HTTP di richiesta o risposta, se necessario.

    Queste intestazioni vengono fornite solo a scopo di test e non verranno aggiunte alla configurazione dell'API connettore REST.

  6. Fare clic nel campo Corpo HTTP per creare il corpo del messaggio (il payload) nell'editor di origine.
    Ad esempio:
    {
      "status":"ZERO_RESULTS",
      "routes":[ ]
    }

    Mantenere il contenuto del corpo del messaggio pertinente per lo scopo del connettore, ovvero non blog del messaggio mediante l'aggiunta di dati estranei. Inclusi solo i dati pertinenti nel corpo del messaggio e facilita la trasmissione rapida della richiesta o della risposta.

  7. Se il servizio a cui si sta effettuando la connessione richiede l'autenticazione, aprire la sezione Autenticazione e immettere le credenziali dell'utente Mobile per ogni metodo sottoposto a test. Se si utilizzano credenziali di test predefinite, è possibile ignorare questo passo.

    Con i criteri di sicurezza basati su SAML, l'identità dell'utente che effettua la chiamata viene propagata al servizio esterno. Per altri criteri di sicurezza come l'autenticazione Basic HTTP e il token nome utente, le credenziali usate per eseguire l'autenticazione con il servizio esterno vengono fornite nelle sostituzioni dei criteri come chiavi CSF. A seconda dell'operazione definita, potrebbe essere necessario immettere credenziali specifiche per ogni operazione oppure utilizzare un set di credenziali per tutti i metodi di autenticazione del connettore con il servizio.

  8. Fare clic su Salva come credenziali predefinite backend mobile correnti per salvare il nome utente e la password forniti come predefinite.
  9. Se ci si trova nella fase di progettazione della creazione del connettore e si desidera semplicemente vedere se gli endpoint sono validi, fare clic su Credenziali di test predefinite di API Designer e selezionare un backend mobile con il quale si è registrati e il relativo numero di versione.
    Facoltativamente, è possibile immettere le credenziali dell'utente Mobile (nome utente e password).

    Queste credenziali di test predefinite sono persistenti in tutti i metodi sottoposti a test. Essi rimangono validi durante la sessione corrente del cloud Mobile.

  10. Fare clic su Endpoint di test.

    L'endpoint di test passa a Annulla test quando si fa clic su di esso. Se si desidera interrompere il test per una causa qualsiasi, fare clic su Annulla test.

    Fare clic su Reimposta per cancellare i campi e modificare i parametri del test.

  11. Fare clic su Fine dopo aver completato il test degli endpoint.