Package org.switchyard.quickstarts.camel.hl7example

Source Code of org.switchyard.quickstarts.camel.hl7example.HL7ServiceTest

/*
* JBoss, Home of Professional Open Source
* Copyright 2013, Red Hat, Inc. and/or its affiliates, and individual
* contributors by the @authors tag. See the copyright.txt in the
* distribution for a full listing of individual contributors.
*
* Licensed 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.switchyard.quickstarts.camel.hl7example;

import ca.uhn.hl7v2.model.Message;
import ca.uhn.hl7v2.model.v24.datatype.ST;
import ca.uhn.hl7v2.model.v24.message.QRY_A19;
import ca.uhn.hl7v2.model.v24.segment.QRD;
import ca.uhn.hl7v2.parser.PipeParser;

import org.junit.Test;
import org.junit.Assert;
import org.junit.runner.RunWith;
import org.switchyard.component.test.mixins.cdi.CDIMixIn;
import org.switchyard.test.Invoker;
import org.switchyard.test.ServiceOperation;
import org.switchyard.test.SwitchYardRunner;
import org.switchyard.test.SwitchYardTestCaseConfig;

@RunWith(SwitchYardRunner.class)
@SwitchYardTestCaseConfig(
    config = SwitchYardTestCaseConfig.SWITCHYARD_XML,
    mixins = CDIMixIn.class)
public class HL7ServiceTest {

    private static final String LINE_ONE = "MSH|^~\\&|MYSENDER|MYRECEIVER|MYAPPLICATION||200612211200||QRY^A19|1234|P|2.4";
    private static final String LINE_TWO = "QRD|200612211200|R|I|GetPatient|||1^RD|0101701234|DEM||";

    @ServiceOperation("HL7Route.process")
    private Invoker processMessage;

    @Test
    public void testCamelRoute() {
        StringBuilder in = new StringBuilder();
        in.append(LINE_ONE);
        in.append("\r");
        in.append(LINE_TWO);
       
        String result = processMessage.sendInOut(in).getContent(String.class);;
        PipeParser pipeParser = new PipeParser();
       
        try {
            //parse the message string into a Message object
            Message message = pipeParser.parse(result);
            if (message instanceof QRY_A19) {
                QRD qrd = (QRD) message.get("QRD");
                ST st = qrd.getQueryID();
                Assert.assertTrue(st.getValue().equals("GetPatient"));
            } else {
                Assert.fail("Message not instance of QRY_A19");
            }
           
        } catch (Exception e) {
            Assert.fail(e.getMessage());
        }
       
    }
}
TOP

Related Classes of org.switchyard.quickstarts.camel.hl7example.HL7ServiceTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.