package uk.nhs.kch.rassyeyanie.framework.processor;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import uk.nhs.kch.rassyeyanie.framework.processor.MessageIdentifierImpl;
public class MessageIdentifierTest
{
@Test
public void should_be_true_if_3of10_fields_match()
{
List<String> sendingApplication = new ArrayList<String>();
List<String> receivingApplicationFilterList = new ArrayList<String>();
List<String> triggerEventFilterList = new ArrayList<String>();
sendingApplication.add("TEST");
sendingApplication.add("TEST1");
receivingApplicationFilterList.add("TEST2");
triggerEventFilterList.add("TEST3");
MessageIdentifierImpl messageIdentifier = new MessageIdentifierImpl();
messageIdentifier.setSendingApplicationFilterList(sendingApplication);
messageIdentifier
.setReceivingApplicationFilterList(receivingApplicationFilterList);
messageIdentifier.setTriggerEventFilterList(triggerEventFilterList);
boolean result =
messageIdentifier.shouldProcess(
"TEST",
null,
"TEST2",
null,
null,
"TEST3",
null,
null);
assertEquals(result, true);
}
@Test
public void should_be_false_if_3of10_fields_match_and_1_does_not()
{
List<String> sendingApplication = new ArrayList<String>();
List<String> receivingApplicationFilterList = new ArrayList<String>();
List<String> triggerEventFilterList = new ArrayList<String>();
List<String> messageTypeFilterList = new ArrayList<String>();
sendingApplication.add("TEST");
receivingApplicationFilterList.add("TEST2");
triggerEventFilterList.add("TEST3");
messageTypeFilterList.add("ROAR");
MessageIdentifierImpl messageIdentifier = new MessageIdentifierImpl();
messageIdentifier.setSendingApplicationFilterList(sendingApplication);
messageIdentifier
.setReceivingApplicationFilterList(receivingApplicationFilterList);
messageIdentifier.setTriggerEventFilterList(triggerEventFilterList);
messageIdentifier.setMessageTypeFilterList(messageTypeFilterList);
boolean result =
messageIdentifier.shouldProcess(
"TEST",
null,
"TEST2",
null,
"MOO",
"TEST3",
null,
null);
assertEquals(result, false);
}
@Test
public void
should_be_false_if_3of10_fields_match_and_1_does_not_in_xor_mode()
{
List<String> sendingApplication = new ArrayList<String>();
List<String> receivingApplicationFilterList = new ArrayList<String>();
List<String> triggerEventFilterList = new ArrayList<String>();
List<String> messageTypeFilterList = new ArrayList<String>();
sendingApplication.add("TEST");
receivingApplicationFilterList.add("TEST2");
triggerEventFilterList.add("TEST3");
messageTypeFilterList.add("ROAR");
MessageIdentifierImpl messageIdentifier = new MessageIdentifierImpl();
messageIdentifier.setVerifyMode(true);
messageIdentifier.setSendingApplicationFilterList(sendingApplication);
messageIdentifier
.setReceivingApplicationFilterList(receivingApplicationFilterList);
messageIdentifier.setTriggerEventFilterList(triggerEventFilterList);
messageIdentifier.setMessageTypeFilterList(messageTypeFilterList);
boolean result =
messageIdentifier.shouldProcess(
"TEST",
null,
"TEST2",
null,
"MOO",
"TEST3",
null,
null);
assertEquals(result, false);
}
@Test
public void should_be_true_if_1of10_fields_do_not_match_in_xor_mode()
{
List<String> sendingApplication = new ArrayList<String>();
sendingApplication.add("TEST1");
MessageIdentifierImpl messageIdentifier = new MessageIdentifierImpl();
messageIdentifier.setVerifyMode(false);
messageIdentifier.setSendingApplicationFilterList(sendingApplication);
boolean result =
messageIdentifier.shouldProcess(
"TEST",
null,
"TEST2",
null,
"MOO",
"TEST3",
null,
null);
assertEquals(result, true);
}
}