use of org.nhindirect.common.tx.model.Tx in project nhin-d by DirectProject.
the class ConcurrentJPAAggregationRepository_getKeysTest method testGetKeys_multipleEntries_assertMultipleKeys.
@Test
public void testGetKeys_multipleEntries_assertMultipleKeys() {
final ConcurrentJPAAggregationRepository repo = new ConcurrentJPAAggregationRepository(notifDao);
final Tx tx1 = TestUtils.makeMessage(TxMessageType.IMF, "12345", "", "me@test.com", "you@test.com", "", "", "");
final Exchange exchange1 = new DefaultExchange(context);
exchange1.getIn().setBody(tx1);
repo.add(context, "12345", exchange1);
final Tx tx2 = TestUtils.makeMessage(TxMessageType.IMF, "123456", "", "me@test.com", "you@test.com", "", "", "");
final Exchange exchange2 = new DefaultExchange(context);
exchange2.getIn().setBody(tx2);
repo.add(context, "123456", exchange2);
final Set<String> keys = repo.getKeys();
assertEquals(2, keys.size());
Iterator<String> iter = keys.iterator();
assertEquals("12345", iter.next());
assertEquals("123456", iter.next());
}
use of org.nhindirect.common.tx.model.Tx in project nhin-d by DirectProject.
the class ConcurrentJPAAggregationRepository_getKeysTest method testGetKeys_singleEntry_assertSingleKey.
@Test
public void testGetKeys_singleEntry_assertSingleKey() {
final ConcurrentJPAAggregationRepository repo = new ConcurrentJPAAggregationRepository(notifDao);
final Tx tx = TestUtils.makeMessage(TxMessageType.IMF, "12345", "", "me@test.com", "you@test.com", "", "", "");
final Exchange exchange = new DefaultExchange(context);
exchange.getIn().setBody(tx);
repo.add(context, "12345", exchange);
final Set<String> keys = repo.getKeys();
assertEquals(1, keys.size());
assertEquals("12345", keys.iterator().next());
}
use of org.nhindirect.common.tx.model.Tx in project nhin-d by DirectProject.
the class BasicTxAggregator_aggregateTest method testAggregate_singleEntryExchanged_addSingleTx.
@Test
public void testAggregate_singleEntryExchanged_addSingleTx() {
TxTimeoutCondition timoutCondition = mock(TxTimeoutCondition.class);
TxCompletionCondition condition = mock(TxCompletionCondition.class);
BasicTxAggregator aggr = new BasicTxAggregator(condition, timoutCondition);
CamelContext context = mock(CamelContext.class);
DefaultExchange oldExchange = new DefaultExchange(context);
Tx tx = mock(Tx.class);
Collection<Tx> oldTxs = new ArrayList<Tx>();
oldTxs.add(tx);
oldExchange.getIn().setBody(oldTxs);
DefaultExchange newExchange = new DefaultExchange(context);
tx = mock(Tx.class);
newExchange.getIn().setBody(tx);
Exchange ex = aggr.aggregate(oldExchange, newExchange);
@SuppressWarnings("unchecked") Collection<Tx> txs = ex.getIn().getBody(Collection.class);
assertEquals(2, txs.size());
}
use of org.nhindirect.common.tx.model.Tx in project nhin-d by DirectProject.
the class TestNonCompletedToDSNGeneratorMonitorRoute method testNonCompleted_multipleRecipeints_singleDSNSingleProcessAndOneIncomplete_assertDSNGeneratedAndValidTimedout.
@Test
public void testNonCompleted_multipleRecipeints_singleDSNSingleProcessAndOneIncomplete_assertDSNGeneratedAndValidTimedout() 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,ah4626@direct.securehealthemail.com,gm2552@test.com", "");
template.sendBody("direct:start", originalMessage);
// now send a DSN failure for only recipient
Tx dsntxMessage = TestUtils.makeMessage(TxMessageType.DSN, UUID.randomUUID().toString(), originalMessageId, "gm2552@direct.securehealthemail.com", "gm2552@cerner.com", "gm2552@direct.securehealthemail.com", DSNStandard.DSNAction.FAILED.toString(), "");
template.sendBody("direct:start", dsntxMessage);
// now send an MDN success for only recipient
Tx mdnMessage = TestUtils.makeMessage(TxMessageType.MDN, UUID.randomUUID().toString(), originalMessageId, "ah4626@direct.securehealthemail.com", "gm2552@cerner.com", "ah4626@direct.securehealthemail.com", "", MDNStandard.Disposition_Processed);
template.sendBody("direct:start", mdnMessage);
// single 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());
MimeMessage dsnMessage = (MimeMessage) exchanges.get(0).getIn().getBody();
ByteArrayOutputStream oStr = new ByteArrayOutputStream();
dsnMessage.writeTo(oStr);
String str = new String(oStr.toByteArray());
assertFalse(str.contains("ah4626@direct.securehealthemail.com"));
assertFalse(str.contains("gm2552@direct.securehealthemail.com"));
assertTrue(str.contains("gm2552@test.com"));
}
use of org.nhindirect.common.tx.model.Tx in project nhin-d by DirectProject.
the class TestNonCompletedToDSNGeneratorMonitorRoute method testNonCompleted_multipleRecipeints_singleDSNAndOneIncomplete_assertDSNGeneratedAndValidTimedout.
@Test
public void testNonCompleted_multipleRecipeints_singleDSNAndOneIncomplete_assertDSNGeneratedAndValidTimedout() 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,ah4626@direct.securehealthemail.com", "");
template.sendBody("direct:start", originalMessage);
// now send a DSN failure for only recipient
Tx dsntxMessage = TestUtils.makeMessage(TxMessageType.DSN, UUID.randomUUID().toString(), originalMessageId, "gm2552@direct.securehealthemail.com", "gm2552@cerner.com", "gm2552@direct.securehealthemail.com", DSNStandard.DSNAction.FAILED.toString(), "");
template.sendBody("direct:start", dsntxMessage);
// single 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());
MimeMessage dsnMessage = (MimeMessage) exchanges.get(0).getIn().getBody();
ByteArrayOutputStream oStr = new ByteArrayOutputStream();
dsnMessage.writeTo(oStr);
String str = new String(oStr.toByteArray());
assertTrue(str.contains("ah4626@direct.securehealthemail.com"));
assertFalse(str.contains("gm2552@direct.securehealthemail.com"));
}
Aggregations