如何在 Munit set 事件处理器中访问属性,包括 headers、queryparams。我正在使用 Anypoint Studio 7.5

How to access attributes including headers, queryparams in Munit set Event processor. I am using Anypoint Studio 7.5

如何在 Munit 集事件处理器中访问属性,包括 headers、queryparams。我正在使用 Anypoint Studio 7.5 我试过 但它没有成功了。

<sub-flow name="setUserAndPass">
    <choice doc:name="Choice" >
        <when expression='attributes."headers"."authorization" != null'>
            <ee:transform doc:name="Transform Message" >
                <ee:message >
                </ee:message>
                <ee:variables >
                    <ee:set-variable variableName="userAndPass" ><![CDATA[%dw 2.0
                            import * from dw::core::Binaries
                            output text/json
                            var auth = attributes."headers"."authorization"
                            ---
                            (fromBase64((auth splitBy(" "))[1] as Binary)) splitBy(":")]]></ee:set-variable>
                </ee:variables>
            </ee:transform>
            <set-variable value='#[vars.userAndPass[0]]' doc:name="Set lvUSERNAME Variable" variableName="lvUSERNAME"/>
            <set-variable value='#[vars.userAndPass[1]]' doc:name="Set lvPASSWORD  variable" variableName="lvPASSWORD "/>
        </when>
        <otherwise >
            <set-variable value='#[attributes."headers"."username"]' doc:name="Set lvUSERNAME Variable" variableName="lvUSERNAME" />
            <set-variable value='#[attributes."headers"."password"]' doc:name="Set lvPASSWORD Variable" variableName="lvPASSWORD" />
        </otherwise>
    </choice>
</sub-flow>

单位流量:

<munit:test name="appname-test-suite-setUserAndPassTest" description="Test">
    <munit:behavior >
        <munit:set-event doc:name="Set Event">
            <munit:attributes value="#[
    {
        headers : {'authorization': 'authvalue'}
    }]" />
        </munit:set-event>
    </munit:behavior>
    <munit:execution >
        <flow-ref doc:name="Flow-ref to setUserAndPass" name="setUserAndPass"/>
    </munit:execution>
    <munit:validation >
        <munit-tools:assert-equals doc:name="Assert equals" actual="#[vars.lvUSERNAME]" expected="usernamevalue"/>
    </munit:validation>
</munit:test>

应该是这样的:

<munit:set-event doc:name="Set Event">
    <munit:payload value="#['..']" encoding="UTF-16" />
    <munit:attributes value="#[
        {
            headers : {'token': 'value1'},
            queryParams : {'queryParam1': 'value2'}
        }]" encoding="UTF-16" />
</munit:set-event>