ThingWorx Flow > ThingWorx Flow SDK > コネクタのテスト
コネクタのテスト
テストコマンド
test コマンドはコネクタ成果物をテストするときに使用します。成果物にはいくつかの共通のオプションと専用のオプションがあります。テストコマンドはサブコマンドとして成果物のタイプをとります。テストコマンドには次のコマンドがあります。
コマンド
説明
flow test action <name>
<name> という名前の操作をテストします。
flow test connection <name>
<name> という名前の接続をテストします。
flow test lookup <name> <method>
検索 <name> で <method> という名前の検索関数をテストします。
flow test oauth <name>
<name> という名前の OAuth をテストします。
flow test trigger <name> <method>
<name> という名前のトリガーをテストします。
テストコマンドには次のオプションがあります。
オプション
説明
データ型
--version
バージョン番号を表示します。
[ブール]
--help
ヘルプを表示します。
[ブール]
--timeout
そのオペレーションのタイムアウト。--timeout オプションではタイムアウトをミリ秒単位で指定します (デフォルトは 30000 ms)。このオプションを指定することで、指定した時間内にコードが終了し、コールバックの呼び出しに失敗するなどのエラーが捕捉されます。
[デフォルト: 30000]
--logLevel,-1
ログレベルを設定します。
[デフォルト: "info"]
ThingWorx Flow CLI では、個々の成果物を、 サーバーでコネクタを展開する前にテストできます。これにより、する前に成果物が正しくしていることをチェックできます。
テストケースは mocha-cha フレームワークを使用して記述します。mocha を使用してテストスイートが定義され、chai はアサーションライブラリとして使用されます。すべてのテストケースは testData フォルダの下の特定の成果物テストフォルダの下に定義されます。
ThingWorx Flow CLI で test コマンドを使用して成果物をテストできます。
成果物をテストするには、コマンドプロンプトから次のコマンドを実行します。
1. cd <user project root directory>
2. flow test <artifactType> <name>
OAuth コンフィギュレーションのテスト
各 OAuth プロバイダがユーザーの資格証明を受け付けるフォームはそれぞれ異なるので、OAuth コンフィギュレーションテストはブラウザを介して行われます。CLI は内部で Express Web サーバーを実行して、認証成功時または不成功時に IdP によって送信される応答を処理します。
OAuth コンフィギュレーションをテストするには、次の手順に従います。
1. プロジェクトディレクトリから、次のコマンドを実行します。
flow test oauth <oauth name>
ログインに成功すると、OAuth バリデータブラウザウィンドウが開きます。詳細については、チュートリアル内の例を参照してください。
2. テストするコンフィギュレーションを選択し、「Validate OAuth Configuration」をクリックするか「Exit」をクリックします。
接続のテスト
接続をテストするには、次の手順に従います。
1. プロジェクトディレクトリから、次のコマンドを実行します。
npm install
2. パッケージ内にテストデータファイルを作成し、そのデータにサービスプロバイダ情報を反映します。
このファイルには、以下のコードに示すような、<プロジェクトディレクトリ>\test\testData にあるテスト connectionTestData のサンプルデータが含まれています。
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. 以下のオプションを使用してテストコマンドを実行します。
オプション
説明
データ型
--version
バージョン番号を表示します。
[ブール]
--help
ヘルプを表示します。
[ブール]
--timeout
そのオペレーションのタイムアウト。--timeout オプションでは、タイムアウトをミリ秒単位で指定します (デフォルトは 30000 ミリ秒)。このオプションを指定することで、指定した時間内にコードが終了し、コールバックの呼び出しに失敗するなどのエラーが捕捉されます。
[デフォルト: 30000]
--logLevel,-1
ログレベルを設定します。
[デフォルト: "info"]
--artifactVersion,-v
テストする成果物のバージョン。
該当なし
--projectDir,-d
プロジェクトの親ディレクトリ。
該当なし
--input,-i
入力変数の名前。
該当なし
--output,-o
予期される出力変数の名前。
該当なし
--testDataFile,-f
testData ファイルのパス。
該当なし
--save,-s
ユーザーの資格証明ストアに保存します。
該当なし
--noSchemaValidation,-n
スキーマの検証を無効にします。
[デフォルト: false]
テストを実行し、connect メソッドと validate メソッドの両方が成功した場合、出力が生成されます。このコマンドでは、入力が入力スキーマと一致し、出力が、予期される出力と一致するかどうかもチェックされます。
検索のテスト
検索の構造はほかの成果物とは異なり、ほかの成果物と同じ方法ではバージョン管理されません。名前自体がそのバージョンとして機能します。新しい機能が必要な場合、新しい名前で新しい検索を検索 JavasSript ファイル内に作成します。以下のオプションを使用して
flow test lookup <name> <method>
次のオプションを使用できます。
オプション
説明
データ型
--version
バージョン番号を表示します。
[ブール]
--help
ヘルプを表示します。
[ブール]
--timeout
そのオペレーションのタイムアウト。--timeout オプションではタイムアウトをミリ秒単位で指定します (デフォルトは 30000 ms)。このオプションを指定することで、指定した時間内にコードが終了し、コールバックの呼び出しに失敗するなどのエラーが捕捉されます。
[デフォルト: 30000]
--logLevel,-1
ログレベルを設定します。
[デフォルト: "info"]
--projectDir,-d
プロジェクトの親ディレクトリ。
該当なし
--connection,-c
注入する接続の uid。
該当なし
--access_token,-a
予期される出力変数の名前。
該当なし
--input,-i
testData ファイルのパス。
該当なし
--output,-o
予期される出力変数の名前。
該当なし
--testDataFile,-f
testData ファイルのパス。
該当なし
--searchById
サーチに使用する ID。
該当なし
--searchByValue
サーチに使用する値。
該当なし
--filter
アイテムのサーチに使用するフィルタ。
該当なし
検索には searchByIdsearchByValue の 2 つのサーチオプションがあり、改ページに関連する次の 3 つのオプションがあります。
検索が一度にすべてのデータを返すこのオプションで必要な操作はありません。
アプリケーション検索コードは getNextPage API を呼び出して、 サービスが次のページからデータを返すことができるようにする引数を渡します。この情報は、ユーザーが検索フィールドの値のリストで「Load More」をクリックしたときに検索に渡されます。
改ページはサポートされないアプリケーションはデータをクエリーし、検索サービスはデータを切り捨てて、現在のページとそれより前のすべてのページのレコードのみを表示します。
操作のテスト
操作のテストは検索のテストとほぼ同じです。
操作をテストするには、次の手順に従います。
1. サンプル入力およびサンプル出力 JSON をテストデータファイルに記述します。入力と出力のサンプルについては、 付録 Bを参照してください。
2. プロジェクトディレクトリから、以下のオプションを使用してテストコマンドを実行します。
オプション
説明
データ型
--version
バージョン番号を表示します。
[ブール]
--help
ヘルプを表示します。
[ブール]
--timeout
そのオペレーションのタイムアウト。--timeout オプションではタイムアウトをミリ秒単位で指定します (デフォルトは 30000 ms)。このオプションを指定することで、指定した時間内にコードが終了し、コールバックの呼び出しに失敗するなどのエラーが捕捉されます。
[デフォルト: 30000]
--logLevel,-1
ログレベルを設定します。
[デフォルト: "info"]
--artifactVersion,-v
テストする成果物のバージョン。
[デフォルト: "v1"]
--connection,-c
注入する接続の uid。
該当なし
--access_token,-a
予期される出力変数の名前。
該当なし
--projectDir,-d
プロジェクトの親ディレクトリ。
[デフォルト: "."]
--input,-i
testData ファイルのパス。
該当なし
--output,-o
予期される出力変数の名前。
該当なし
--testDataFile,-f
testData ファイルのパス。
該当なし
--noSchemaValidation,-n
スキーマの検証を無効にします。
[デフォルト: false]
トリガーのテスト
トリガーのテストは、操作、接続、検索のテストと若干異なります。以下のオプションを使用してテストコマンドを実行できます。
以下の表で、トリガーのテストに使用可能な各種オプションについて説明します。
オプション
説明
データ型
--version
バージョン番号を表示します。
[ブール]
--help
ヘルプを表示します。
[ブール]
--timeout
そのオペレーションのタイムアウト。--timeout オプションではタイムアウトをミリ秒単位で指定します (デフォルトは 30000 ms)。このオプションを指定することで、指定した時間内にコードが終了し、コールバックの呼び出しに失敗するなどのエラーが捕捉されます。
[デフォルト: 30000]
--logLevel,-1
ログレベルを設定します。
[デフォルト: "info"]
--artifactVersion,-v
テストする成果物のバージョン。
[デフォルト: "v1"]
--connection,-c
注入する接続の uid。
該当なし
--access_token,-a
予期される出力変数の名前。
該当なし
--projectDir,-d
プロジェクトの親ディレクトリ。
[デフォルト: "."]
--input,-i
入力変数の名前。
該当なし
--output,-o
予期される出力変数の名前。
該当なし
--testDataFile,-f
testData ファイルのパス。
該当なし
--noSchemaValidation,-n
スキーマの検証を無効にします。
[デフォルト: false]
--polling,-p
このトリガーがポーリングトリガーであることを示します。
該当なし
--event,-e
テストするイベント。
該当なし
--mockData,-m
イベントのモックデータが格納されている変数の名前。
該当なし
--interval,-t
トリガーする間隔 (秒)。
[デフォルト: 15]
--stopAfter,-s
トリガーへの呼び出しの最大回数。
[デフォルト: 1]
テストするメソッドを指定する必要があります。ポーリングトリガーの場合、メソッドは executeactivate です。
各種成果物のテストの例については、を参照してください。