use of org.nhindirect.common.tx.model.Tx in project nhin-d by DirectProject.
the class TestTimedOutMonitorRoute method testTimeoutReliableMessage_conditionNotComplete_assertTimedOutAndAggregatedTimeoutDecayed.
@Test
public void testTimeoutReliableMessage_conditionNotComplete_assertTimedOutAndAggregatedTimeoutDecayed() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
// send original message
final String originalMessageId = UUID.randomUUID().toString();
Tx originalMessage = TestUtils.makeReliableMessage(TxMessageType.IMF, originalMessageId, "", "gm2552@cerner.com", "gm2552@direct.securehealthemail.com", "", "", "");
template.sendBody("direct:start", originalMessage);
// sleep .5 second then send the next part of the message
Thread.sleep(500);
// send MDN processed to original message
Tx mdnMessage = TestUtils.makeReliableMessage(TxMessageType.MDN, UUID.randomUUID().toString(), originalMessageId, "gm2552@direct.securehealthemail.com", "gm2552@cerner.com", "gm2552@direct.securehealthemail.com", "", MDNStandard.Disposition_Processed);
template.sendBody("direct:start", mdnMessage);
// no MDN sent... messages should timeout after 1 second from now
// sleep 2 seconds to make sure it completes
Thread.sleep(2000);
List<Exchange> exchanges = mock.getReceivedExchanges();
assertEquals(1, exchanges.size());
Exchange exchange = exchanges.iterator().next();
// make sure there are 2 messages in the exchange
@SuppressWarnings("unchecked") Collection<Tx> messages = exchange.getIn().getBody(Collection.class);
assertEquals(2, messages.size());
assertEquals("timeout", exchange.getProperty(Exchange.AGGREGATED_COMPLETED_BY));
// make sure the aggregated timeout decayed properly... it should now be < 500 ms
assertTrue((Long) exchange.getProperty(Exchange.AGGREGATED_TIMEOUT) < 500);
}
use of org.nhindirect.common.tx.model.Tx in project nhin-d by DirectProject.
the class TestTimedOutMonitorRoute method testTimeoutNonReliableMessage_conditionNotComplete_assertTimedOut.
@Test
public void testTimeoutNonReliableMessage_conditionNotComplete_assertTimedOut() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
// send original message
final String originalMessageId = UUID.randomUUID().toString();
Tx originalMessage = TestUtils.makeMessage(TxMessageType.IMF, originalMessageId, "", "gm2552@cerner.com", "gm2552@direct.securehealthemail.com", "");
template.sendBody("direct:start", originalMessage);
// no MDN sent... messages should timeout after 2 seconds
// sleep 3 seconds to make sure it completes
Thread.sleep(3000);
List<Exchange> exchanges = mock.getReceivedExchanges();
assertEquals(1, exchanges.size());
Exchange exchange = exchanges.iterator().next();
assertEquals("timeout", exchange.getProperty(Exchange.AGGREGATED_COMPLETED_BY));
}
use of org.nhindirect.common.tx.model.Tx in project nhin-d by DirectProject.
the class MessageIdCorrelationExpression_evaluateTest method testEvaluate_emptyDetails_assertNullId.
@Test
public void testEvaluate_emptyDetails_assertNullId() {
MessageIdCorrelationExpression exp = new MessageIdCorrelationExpression();
Tx tx = new Tx(TxMessageType.IMF, new HashMap<String, TxDetail>());
CamelContext context = mock(CamelContext.class);
Exchange exchange = new DefaultExchange(context);
exchange.getIn().setBody(tx);
assertNull(exp.evaluate(exchange, String.class));
}
use of org.nhindirect.common.tx.model.Tx in project nhin-d by DirectProject.
the class MessageIdCorrelationExpression_evaluateTest method testEvaluate_IMFMessage_noMsgId_assertNullId.
@Test
public void testEvaluate_IMFMessage_noMsgId_assertNullId() {
MessageIdCorrelationExpression exp = new MessageIdCorrelationExpression();
Map<String, TxDetail> details = new HashMap<String, TxDetail>();
details.put(TxDetailType.FROM.getType(), new TxDetail(TxDetailType.FROM, "me@test.com"));
Tx tx = new Tx(TxMessageType.IMF, details);
CamelContext context = mock(CamelContext.class);
Exchange exchange = new DefaultExchange(context);
exchange.getIn().setBody(tx);
assertNull(exp.evaluate(exchange, String.class));
}
use of org.nhindirect.common.tx.model.Tx in project nhin-d by DirectProject.
the class MessageIdCorrelationExpression_evaluateTest method testEvaluate_DSNMessage_parentMsgIdExists_assertMessageIdEvaluated.
@Test
public void testEvaluate_DSNMessage_parentMsgIdExists_assertMessageIdEvaluated() {
MessageIdCorrelationExpression exp = new MessageIdCorrelationExpression();
String msgId = UUID.randomUUID().toString();
Map<String, TxDetail> details = new HashMap<String, TxDetail>();
details.put(TxDetailType.PARENT_MSG_ID.getType(), new TxDetail(TxDetailType.PARENT_MSG_ID, msgId));
Tx tx = new Tx(TxMessageType.DSN, details);
CamelContext context = mock(CamelContext.class);
Exchange exchange = new DefaultExchange(context);
exchange.getIn().setBody(tx);
assertEquals(msgId, exp.evaluate(exchange, String.class));
}
Aggregations