2016-05-18 7 views
2

Я пытаюсь проверить APIKit в MUnit. Первоначально я использовал HTTP-запрос в MUnit для вызова моего потока, а затем APIKit направил запрос на соответствующий подпоток, в котором живет моя логика. Теперь я хочу издеваться над одним из элементов подпотока, поэтому я пытаюсь заменить HTTP-запрос ссылкой на поток APIKit. Это работает, но APIKit маршрутизатор выдает ошибку: неУстановить входящие свойства для ссылки MUnit Flow в Mulesoft для APIKit

Cannot resolve request base path 

Поскольку ни один из входящих свойств устанавливаются. И это моя проблема, как мне имитировать входящие свойства, которые я отправляю в ссылку на поток, чтобы запрос выглядел так, как будто он пришел из HTTP-запроса? В качестве альтернативы, есть ли другой способ структурировать код, чтобы я мог издеваться над элементом моей логики?

Благодаря

ответ

6

Вы можете добавить свойства на вашем макете ответ HTTP. Смотрите образец ниже:

<mock:when messageProcessor=".*:.*" doc:name="Queue Message"> 
      <mock:with-attributes> 
       <mock:with-attribute name="doc:name" whereValue="#['Queue Message']"/> 
      </mock:with-attributes> 
      <mock:then-return payload="#['Sample response']"> 
       <mock:inbound-properties> 
        <mock:inbound-property key="prop1" value="val1"/> 
        <mock:inbound-property key="prop2" value="val2"/> 
       </mock:inbound-properties> 
      </mock:then-return> 
     </mock:when> 

Надеется, что это помогает

+0

Спасибо, да, это то, что я закончил делать. – CamJohnson26

2

Вы можете использовать набор сообщения процессора перед тем Fow ссылку для установки полезной нагрузки и свойства. Пожалуйста, см. Следующий код

<munit:before-suite name="twitter_munit_testBefore_Suite" description="MUnit Test"> 
     <scripting:component doc:name="Script"> 
      <scripting:script name="groovyScriptPayloadGenerator" engine="Groovy"><![CDATA[ 
     import groovy.json.JsonSlurper 
     def jsonSlurper = new JsonSlurper() 
     def object = jsonSlurper.parseText ''' 
         { "positive": 15, 
          "negative": 5, 
          "neutral": 0 
         }''']]></scripting:script> 
     </scripting:component> 
    </munit:before-suite> 

    <munit:test name="new-test-suite-tetsFlowTest" description="Test"> 
     <munit:set payload="#[resultOfScript('groovyScriptPayloadGenerator')]" doc:name="Set Message"> 
      <munit:inbound-properties> 
       <munit:inbound-property key="http.query.params" value="#[['query':'value']]"/> 
      </munit:inbound-properties> 
     </munit:set> 
     <flow-ref name="tetsFlow" doc:name="Flow-ref to tetsFlow"/> 
    </munit:test> 

Также уточните this для получения более подробной информации. Точно так же вы можете настроить макет. Надеюсь, что это поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^