blob: a86b5a90ee7b7a250ef842dc95a447c5b198ebbd [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.camel.dataformat.bindy.fix;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.dataformat.bindy.CommonBindyTest;
import org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
@ContextConfiguration
public class BindyComplexOneToManyKeyValuePairUnMarshallTest extends CommonBindyTest {
@Test
@DirtiesContext
public void testUnMarshallMessage() throws Exception {
String message = "8=FIX 4.19=2034=135=049=INVMGR56=BRKR" + "1=BE.CHM.00111=CHM0001-0158=this is a camel - bindy test" + "22=448=BE000124567854=1"
+ "22=548=BE000987654354=2" + "22=648=BE000999999954=3" + "10=220";
result.expectedMessageCount(1);
template.sendBody(message);
result.assertIsSatisfied();
String body = result.getReceivedExchanges().get(0).getIn().getBody(String.class);
Assert.assertTrue(body.contains("BE.CHM.001, 11: CHM0001-01, 58: this is a camel - bindy test"));
Assert.assertTrue(body.contains("22: 4, 48: BE0001245678, 54: 1"));
Assert.assertTrue(body.contains("22: 5, 48: BE0009876543, 54: 2"));
Assert.assertTrue(body.contains("22: 6, 48: BE0009999999, 54: 3"));
Assert.assertTrue(body.contains("FIX 4.1, 9: 20, 34: 1 , 35: 0, 49: INVMGR, 56: BRKR"));
Assert.assertTrue(body.contains("10: 220"));
}
public static class ContextConfig extends RouteBuilder {
BindyKeyValuePairDataFormat kvpBindyDataFormat = new BindyKeyValuePairDataFormat("org.apache.camel.dataformat.bindy.model.fix.complex.onetomany");
public void configure() {
from(URI_DIRECT_START).unmarshal(kvpBindyDataFormat).to(URI_MOCK_RESULT);
}
}
}