Mock When プロセッサーでは、定義された名前と属性に一致したときにイベントプロセッサーをモックできます。
たとえば、Mock Event プロセッサーを使用して、モックペイロードで POST 要求をモックできます。
<munit-tools:mock-when processor="http:request">
<munit-tools:with-attributes>
<munit-tools:with-attribute attributeName="method" whereValue="#['POST']"/>
</munit-tools:with-attributes>
<munit-tools:then-return>
<munit-tools:payload value="#['mockPayload']"/>
</munit-tools:then-return>
</munit-tools:mock-when>
モックするプロセッサーを定義するように processor 属性を設定し、属性の名前と値を定義するように with-attribute 要素を設定できます。上記の例では、POST メソッドを定義します。
DataWeave の機能とマッピングを使用して、then-return 要素の value 属性を設定することもできます。たとえば、src/test/resources/sample_data ファイル内に mockPost.dwl を作成します。
%dw 2.0
output application/json
---
{
"foo" : "var"
}
次の DataWeave ファイルは、POST 要求で送信するペイロードを作成します。その後、readUrl DataWeave 機能を使用してマッピングファイルを読み込むことができます。
<munit-tools:then-return>
<munit-tools:payload value="#[readUrl('classpath://sample_data/mockPost.dwl')]" mediaType="application/json" encoding="UTF-8" />
</munit-tools:then-return>
最後に、モックプロセッサーが返す応答種別を定義するように then-return 要素を設定できます。ペイロード、変数、属性のリスト、またはエラーにできます。
then-return を使用して静的な定数値を返すか、then-call を使用して返される値が経時的に変化する可能性がある場合にフローを呼び出したり、特定の入力に応じて異なる応答を使用したりできます。
|
|
プロセッサーのモックは Mule アプリケーションの初期化後に実行され、プロセッサーがモックされる場合であっても、一部のコネクタでアプリケーションを起動するにはログイン情報または設定が必要な場合があります。
|
|
|
Logger プロセッサーや Transform Message プロセッサー (DataWeave) はモックできません。
|