Run Custom イベントプロセッサー

Run Custom イベントプロセッサーを使用すると、Mule イベントコンテンツをカスタムアサーションに対して確認できます。

Run Custom プロセッサーをプロジェクトに追加するには、次の連動関係を ​pom.xml​ ファイルに追加します。

<dependency>
    <groupId>com.mulesoft.munit</groupId>
    <artifactId>munit-assert</artifactId>
    <version>${munit.version}</version>
    <scope>test</scope>
</dependency>

また、エクスポートされたリソースとしてカスタムアサーションクラスを ​mule-artifact.json​ ファイルに追加する必要があります。

たとえば、Java で次のアサーションを定義できます。

public class CustomAssertion implements MunitAssertion {

    @Override
    public void execute(TypedValue expression, Object params) throws AssertionError { (1)
        if (!"Hello World".equals(expression.getValue())) { (2)
            throw new AssertionError("Error the payload is incorrect");
        }
     }

}
1 インターフェースに 1 つのメソッドのみを実装します: public void execute(TypedValue expression, Object params) throws AssertionError
2 カスタムロジックを実行します。この場合は、メッセージのペイロードが ​Hello World​ であることを検証します。

次に、Run Custom イベントプロセッサーを使用してこれを実行します。

<munit-tools:run-custom
  assertion="com.example.CustomAssertion" (1)
  expression="#[payload]"/>
1 アサーション項目にカスタムアサーションの正規クラス名が含まれていて、クラスがエクスポートされている必要があります。

アプリケーションをパッケージ化するときにクラスをエクスポートするには、​CustomAssertion​ を ​mule-artifact.json​ に追加します。

{
    "name": "mule-application",
    "minMuleVersion": "4.2.0",
    "classLoaderModelLoaderDescriptor": {
        "id": "mule",
        "attributes": {
            "exportedResources": [
                "resources/CustomAssertion.java"
            ]
        }
    }
}