That gave a 404 too :) 2012/11/8 James Carman <ja...@carmanconsulting.com>: > Sorry, I've been tweaking the code: > > https://github.com/jwcarman/camel-transaction/blob/master/src/test/java/com/carmanconsulting/camel/TestJdbcRouteBuilder.java > > On Thu, Nov 8, 2012 at 3:07 PM, David Karlsen <davidkarl...@gmail.com> wrote: >> The 1st link gave a 404. >> Den 8. nov. 2012 14:25 skrev "James Carman" <ja...@carmanconsulting.com> >> følgende: >> >>> Have you tried just overriding the isMockEndpoints() method: >>> >>> >>> https://github.com/jwcarman/camel-transaction/blob/master/src/test/java/com/carmanconsulting/camel/TestMyRouteBuilder.java >>> >>> Alternatively, you can just use JMS in your unit test: >>> >>> >>> https://github.com/jwcarman/camel-transaction/blob/master/src/test/java/com/carmanconsulting/camel/AbstractRouteBuilderTest.java >>> >>> >>> On Thu, Nov 8, 2012 at 2:34 AM, David Karlsen <davidkarl...@gmail.com> >>> wrote: >>> > I have a follow up question on this. >>> > I have this route: >>> > >>> > <camel:route id="inboundFromRtsRoute"> >>> > <camel:from >>> > >>> > >>> uri="jms:queue:{{.online.mq.reservationsReceiveQueue}}?connectionFactory=#rtsConnectionFactory&destinationResolver=#rtsDestinationResolver&asyncStartListener=true&transactionManager=#rtsJmsTransactionManager&transacted=true&lazyCreateTransactionManager=false&disableReplyTo=true" >>> > /> >>> > <camel:transacted id="transacted" >>> > ref="TransactionManagerPolicyRequired" /> <!--look further down the >>> > mail on this one--> >>> > <camel:to >>> > >>> > >>> uri="log:PERF_LOG?level=INFO&groupInterval=60000&groupDelay=10000&groupActiveOnly=false" >>> > /> >>> > <camel:log logName="RTS_MESSAGE_TRACE" >>> > loggingLevel="INFO" >>> > message="REQUEST: ${body}" /> >>> > <camel:choice> >>> > <camel:when >>> > xmlns:ledgerres="fc:evry:com:xsd:fundscheckmaintainavailablebalance"> >>> > >>> > <camel:xpath>/ledgerres:Document</camel:xpath> >>> > <camel:to >>> > >>> > uri="validator:META-INF/xsd/fundscheckmaintainavailablebalance.xsd" /> >>> > <camel:unmarshal> >>> > <camel:jaxb >>> prettyPrint="true" >>> > >>> > contextPath="fc.evry.com.xsd.fundscheckmaintainavailablebalance" >>> > >>> > partClass="fc.evry.com.xsd.fundscheckmaintainavailablebalance.Document" >>> > /> >>> > </camel:unmarshal> >>> > <camel:to >>> > >>> > >>> uri="bean:mainLedgerIntegrationServiceImpl?method=processReservationFromMainLedger( >>> > ${body} )" /> >>> > </camel:when> >>> > <camel:when >>> > xmlns:ledgerposting="tg:evry:com:xsd:transactiongatetransfertransaction"> >>> > >>> > <camel:xpath>/ledgerposting:Document</camel:xpath> >>> > <camel:to >>> > >>> > uri="validator:META-INF/xsd/transactiongatetransfertransaction.xsd" /> >>> > <camel:unmarshal> >>> > <camel:jaxb >>> prettyPrint="true" >>> > >>> > contextPath="tg.evry.com.xsd.transactiongatetransfertransaction" >>> > >>> > partClass="tg.evry.com.xsd.transactiongatetransfertransaction.Document" >>> > /> >>> > </camel:unmarshal> >>> > <camel:to >>> > >>> > >>> uri="bean:mainLedgerIntegrationServiceImpl?method=processPostingFromMainLedger( >>> > ${body} )" /> >>> > </camel:when> >>> > </camel:choice> >>> > <camel:onException useOriginalMessage="true"> >>> > >>> > <camel:exception>java.lang.Exception</camel:exception> >>> > <camel:handled> >>> > >>> <camel:constant>true</camel:constant> >>> > </camel:handled> >>> > <camel:to >>> > uri="log:RTS_MSG_EXCHANGE?showAll=true&level=ERROR" /> >>> > <camel:to id="inboundFromErrorQueue" >>> > >>> uri="jms:queue:{{.online.mq.reservationsReceiveErrorQueue}}?connectionFactory=#rtsConnectionFactory&destinationResolver=#rtsDestinationResolver&transactionManager=#rtsJmsTransactionManager&disableReplyTo=true" >>> > /> >>> > </camel:onException> >>> > </camel:route> >>> > >>> > this route was easily unit-testable by doing overrides in my setup: >>> > camelContext.getRouteDefinition( "inboundFromRtsRoute" ).adviceWith( >>> > camelContext, new AdviceWithRouteBuilder() >>> > { >>> > @Override >>> > public void configure() >>> > throws Exception >>> > { >>> > replaceFromWith( mockEndpoint.getDefaultEndpoint() ); >>> > weaveById( "inboundFromRtsErrorQueue" ).replace().to( >>> > mockInboundFromRtsErrorQueue ); >>> > } >>> > } ); >>> > >>> > before I added the transacted element. >>> > Is there any easy way for me to skip the transacted node in the route? >>> > I tried weaveById( "transacted" ).remove(); but that removes the node >>> > and all child nodes it seems. I just wanna replace the jms input route >>> > AND the transacted element with my mock endpoint. >>> > >>> > Is this possible? >>> > >>> > Yes I could use embedded active mq for testing - but that leads to a >>> > lot of excessive config. >>> > >>> > >>> > >>> > 2012/11/8 James Carman <ja...@carmanconsulting.com>: >>> >> You can inject mock objects into your route builders very easily. >>> >> Just pick your mock object framework of choice and inject them when >>> >> you create your RouteBuilder. >>> >> >>> >> On Wed, Nov 7, 2012 at 10:37 AM, zzkozak <mar...@pikula.de> wrote: >>> >>> Hi, >>> >>> >>> >>> I have the following route and would like to test it by throwing an >>> >>> exception by the orderRequestCreator bean. How do I do that? >>> >>> >>> >>> >>> >>> >>> >>> I am using annotated JUnit tests, like this: >>> >>> >>> >>> >>> >>> >>> >>> Thank you in advance, >>> >>> Marcin >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> View this message in context: >>> http://camel.465427.n5.nabble.com/How-to-mock-a-bean-in-a-route-tp5722307.html >>> >>> Sent from the Camel - Users mailing list archive at Nabble.com. >>> > >>> > >>> > >>> > -- >>> > -- >>> > David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen >>>
-- -- David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen