ThingWorx Flow > SDK di ThingWorx Flow > Test dei connettori
Test dei connettori
Comando test
Il comando test viene utilizzato per testare gli elementi del connettore. Gli elementi sono costituiti da alcune opzioni comuni e alcune opzioni specifiche. Il comando test accetta il tipo dell'elemento come sottocomando e include i comandi seguenti:
Comandi
Descrizione
flow test action <name>
Testa l'azione <nome>.
flow test connection <name>
Testa la connessione <nome>.
flow test lookup <name> <method>
Testa la funzione di ricerca <metodo> nella ricerca <nome>.
flow test oauth <name>
Testa la configurazione OAuth <nome>.
flow test trigger <name> <method>
Testa il trigger <nome>.
Il comando test comprende le opzioni seguenti:
Opzioni
Descrizione
Tipo di dati
--version
Visualizza il numero di versione.
[booleano]
--help
Visualizza la guida.
[booleano]
--timeout
Timeout dell'operazione. L'opzione --timeout specifica un timeout in millisecondi (il valore di default è 30000 ms). Questa opzione assicura che il codice finisca entro il tempo specificato e acquisisce gli errori, ad esempio la mancata chiamata dei callback.
[default: 30000]
--logLevel,-1
Imposta il livello di registrazione.
[default: "info"]
L'interfaccia della riga di comando di ThingWorx Flow consente di testare singoli elementi prima di distribuire il connettore nel server. Ciò consente di verificare se gli elementi correttamente prima .
I test case vengono scritti utilizzando il framework mocha-cha. Mocha viene utilizzato per definire la suite di test e chai viene utilizzato come libreria di condizioni. Tutti i test case vengono definiti nella cartella testData sotto una cartella di test di un elemento specifico.
Il comando test consente di testare gli elementi nell'interfaccia della riga di comando di ThingWorx Flow.
Per testare un elemento, eseguire i comandi seguenti dal prompt dei comandi:
1. cd <user project root directory>
2. flow test <artifactType> <name>
Test di una configurazione OAuth
Il test della configurazione OAuth viene eseguito attraverso un browser poiché ogni provider OAuth presenta un modulo diverso in cui accettare le credenziali dell'utente. La riga di comando esegue internamente un server Web espresso per elaborare le risposte che vengono inviate dall'IdP ad autenticazione avvenuta o non riuscita.
Per testare una configurazione OAuth, attenersi alla procedura descritta di seguito.
1. Dalla directory del progetto, utilizzare il comando seguente:
flow test oauth <oauth name>
Dopo avere effettuato l'accesso, viene visualizzata la finestra del browser per la convalida OAuth. Per ulteriori informazioni, fare riferimento all'esempio nell'esercitazione.
2. Selezionare la configurazione da testare, quindi fare clic su Validate OAuth configuration o fare clic su Exit.
Test di una connessione
Per testare una connessione, attenersi alla procedura descritta di seguito.
1. Dalla directory del progetto, utilizzare il comando seguente:
npm install
2. Creare un file di dati di test nel package e completarne i dati con le informazioni del provider di servizi.
Il file contiene i dati di esempio per il test connectionTestData in <DirProgetto>\test\testdata come illustrato nel seguente blocco di codice:
module.exports = {
sampleInput : {
email : 'your-email-id-here',
subscription_id:'your-subscription-id',
account_url: 'your-account-url',
token: 'your-token'
},
sampleOutput : {
handle: {
email : 'your-email-id-here',
subscription_id:'your-subscription-id',
account_url: 'your-account-url',
token: 'your-token'
} }
}
3. Eseguire il comando test utilizzando le opzioni seguenti:
Opzioni
Descrizione
Tipo di dati
--version
Visualizza il numero di versione.
[booleano]
--help
Visualizza la guida.
[booleano]
--timeout
Timeout dell'operazione. L'opzione --timeout specifica un timeout in millisecondi (il valore di default è 30000 ms). Questa opzione assicura che il codice finisca entro il tempo specificato e acquisisce gli errori, ad esempio la mancata chiamata dei callback.
[default: 30000]
--logLevel,-1
Imposta il livello di registrazione.
[default: "info"]
--artifactVersion,-v
Versione dell'elemento da testare.
ND
--projectDir,-d
Directory padre del progetto.
ND
--input,-i
Nome della variabile di input.
ND
--output,-o
Nome della variabile di output prevista.
ND
--testDataFile,-f
Percorso del file testData.
ND
--save,-s
Salva nell'archivio delle credenziali di un utente.
ND
--noSchemaValidation,-n
Disattiva la convalida dello schema.
[default: false]
L'esecuzione del test produce output se entrambi i metodi connect e validate hanno esito positivo. Il comando controlla anche che l'input corrisponda allo schema di input e che l'output corrisponda all'output previsto.
Test delle ricerche
Le ricerche presentano una struttura diversa rispetto ad altri elementi e le versioni vengono loro attribuite in modo diverso che ad altri elementi. Il nome stesso serve come versione. Se è richiesta una funzionalità più recente, viene creata una nuova ricerca con un nuovo nome nel file JavasScript delle ricerche.utilizzando il comando seguente:
flow test lookup <name> <method>
Di seguito sono elencate le opzioni disponibili.
Opzioni
Descrizione
Tipo di dati
--version
Visualizza il numero di versione.
[booleano]
--help
Visualizza la guida.
[booleano]
--timeout
Timeout dell'operazione. L'opzione --timeout specifica un timeout in millisecondi (il valore di default è 30000 ms). Questa opzione assicura che il codice finisca entro il tempo specificato e acquisisce gli errori, ad esempio la mancata chiamata dei callback.
[default: 30000]
--logLevel,-1
Imposta il livello di registrazione.
[default: "info"]
--projectDir,-d
Directory padre del progetto.
ND
--connection,-c
UID della connessione da inserire.
ND
--access_token,-a
Nome della variabile di output prevista.
ND
--input,-i
Percorso del file testData.
ND
--output,-o
Nome della variabile di output prevista.
ND
--testDataFile,-f
Percorso del file testData.
ND
--searchById
ID da utilizzare per la ricerca.
ND
--searchByValue
Valore da utilizzare per la ricerca.
ND
--filter
Filtro da utilizzare per cercare gli elementi.
ND
Le ricerche presentano due opzioni di ricerca, searchById e searchByValue, e le seguenti tre opzioni relative all'impaginazione.
La ricerca restituisce tutti i dati contemporaneamente essuna azione richiesta per questa opzione.
API di impaginazione supportata dall' applicazione codice di ricerca chiama l'API getNextPage e le passa argomenti che possono aiutare il servizio a restituire i dati dalla pagina successiva. Queste informazioni vengono passate alla ricerca quando l'utente fa clic su Load More nell'elenco a discesa dei valori del campo di ricerca.
Impaginazione non supportataL'applicazione esegue interrogazioni sui dati e il servizio di ricerca tronca i dati in modo da visualizzare solo i record della pagina corrente e di tutte le pagine precedenti.
Test di azioni
Il test delle azioni è simile al test delle ricerche.
Per testare un'azione, attenersi alla procedura descritta di seguito.
1. Scrivere codice JSON di input e di output di esempio in un file di dati di test. Per esempi di input e di output, fare riferimento all' Appendice B.
2. Dalla directory del progetto, eseguire il comando test utilizzando le opzioni seguenti:
Opzioni
Descrizione
Tipo di dati
--version
Visualizza il numero di versione.
[booleano]
--help
Visualizza la guida.
[booleano]
--timeout
Timeout dell'operazione. L'opzione --timeout specifica un timeout in millisecondi (il valore di default è 30000 ms). Questa opzione assicura che il codice finisca entro il tempo specificato e acquisisce gli errori, ad esempio la mancata chiamata dei callback.
[default: 30000]
--logLevel,-1
Imposta il livello di registrazione.
[default: "info"]
--artifactVersion,-v
Versione dell'elemento da testare.
[default: "v1"]
--connection,-c
UID della connessione da inserire.
ND
--access_token,-a
Nome della variabile di output prevista.
ND
--projectDir,-d
Directory padre del progetto.
[default: "."]
--input,-i
Percorso del file testData.
ND
--output,-o
Nome della variabile di output prevista.
ND
--testDataFile,-f
Percorso del file testData.
ND
--noSchemaValidation,-n
Disattiva la convalida dello schema.
[default: false]
Test di trigger
Il test di un trigger è leggermente diverso da quello di un'azione, una connessione e una ricerca. È possibile eseguire il comando test utilizzando le opzioni seguenti:
La tabella riportata di seguito descrive le varie opzioni disponibili per testare i trigger.
Opzioni
Descrizione
Tipo di dati
--version
Visualizza il numero di versione.
[booleano]
--help
Visualizza la guida.
[booleano]
--timeout
Timeout dell'operazione. L'opzione --timeout specifica un timeout in millisecondi (il valore di default è 30000 ms). Questa opzione assicura che il codice finisca entro il tempo specificato e acquisisce gli errori, ad esempio la mancata chiamata dei callback.
[default: 30000]
--logLevel,-1
Imposta il livello di registrazione.
[default: "info"]
--artifactVersion,-v
Versione dell'elemento da testare.
[default: "v1"]
--connection,-c
UID della connessione da inserire.
ND
--access_token,-a
Nome della variabile di output prevista.
ND
--projectDir,-d
Directory padre del progetto.
[default: "."]
--input,-i
Nome della variabile di input.
ND
--output,-o
Nome della variabile di output prevista.
ND
--testDataFile,-f
Percorso del file testData.
ND
--noSchemaValidation,-n
Disattiva la convalida dello schema.
[default: false]
--polling,-p
Indica che si tratta di un trigger polling.
ND
--event,-e
Evento da testare.
ND
--mockData,-m
Nome della variabile che contiene i mockdata di un evento.
ND
--interval,-t
Intervallo in secondi da attendere prima di attivare.
[default: 15]
--stopAfter,-s
Numero massimo di chiamate al trigger.
[default: 1]
È necessario specificare il metodo che si desidera testare. Per i trigger polling, i metodi sono execute e activate.
Per esempi sul test di vari elementi, fare riferimento all'.