1 | /*
|
---|
2 | * To change this template, choose Tools | Templates
|
---|
3 | * and open the template in the editor.
|
---|
4 | */
|
---|
5 |
|
---|
6 | package gov.hhs.fha.nhinc.transform.audit;
|
---|
7 |
|
---|
8 | import org.apache.commons.logging.Log;
|
---|
9 | import org.apache.commons.logging.LogFactory;
|
---|
10 |
|
---|
11 | import javax.xml.bind.JAXBElement;
|
---|
12 |
|
---|
13 | import com.services.nhinc.schema.auditmessage.AuditMessageType;
|
---|
14 | import com.services.nhinc.schema.auditmessage.EventIdentificationType;
|
---|
15 | import com.services.nhinc.schema.auditmessage.AuditSourceIdentificationType;
|
---|
16 |
|
---|
17 | import oasis.names.tc.ebxml_regrep.xsd.query._3.AdhocQueryResponse;
|
---|
18 | import oasis.names.tc.ebxml_regrep.xsd.query._3.AdhocQueryRequest;
|
---|
19 | import oasis.names.tc.ebxml_regrep.xsd.rim._3.AdhocQueryType;
|
---|
20 | import oasis.names.tc.ebxml_regrep.xsd.rim._3.SlotType1;
|
---|
21 | import oasis.names.tc.ebxml_regrep.xsd.rim._3.ValueListType;
|
---|
22 | import oasis.names.tc.ebxml_regrep.xsd.rim._3.RegistryObjectListType;
|
---|
23 | import oasis.names.tc.ebxml_regrep.xsd.rim._3.IdentifiableType;
|
---|
24 |
|
---|
25 | import org.junit.After;
|
---|
26 | import org.junit.AfterClass;
|
---|
27 | import org.junit.Before;
|
---|
28 | import org.junit.BeforeClass;
|
---|
29 | import org.junit.Test;
|
---|
30 | import static org.junit.Assert.*;
|
---|
31 |
|
---|
32 | import gov.hhs.fha.nhinc.common.nhinccommon.UserType;
|
---|
33 | import gov.hhs.fha.nhinc.common.nhinccommon.HomeCommunityType;
|
---|
34 | import gov.hhs.fha.nhinc.common.nhinccommon.PersonNameType;
|
---|
35 | import gov.hhs.fha.nhinc.common.auditlog.LogAdhocQueryRequestType;
|
---|
36 | import gov.hhs.fha.nhinc.common.auditlog.AdhocQueryMessageType;
|
---|
37 | import gov.hhs.fha.nhinc.common.nhinccommon.AssertionType;
|
---|
38 | import gov.hhs.fha.nhinc.common.auditlog.LogAdhocQueryResultRequestType;
|
---|
39 | import gov.hhs.fha.nhinc.common.auditlog.AdhocQueryResponseMessageType;
|
---|
40 | import gov.hhs.fha.nhinc.common.auditlog.LogEventRequestType;
|
---|
41 |
|
---|
42 | /**
|
---|
43 | *
|
---|
44 | * @author MFLYNN02
|
---|
45 | */
|
---|
46 | public class DocumentQueryTransformsTest {
|
---|
47 | private static Log log = LogFactory.getLog(DocumentQueryTransformsTest.class);
|
---|
48 |
|
---|
49 | public DocumentQueryTransformsTest() {
|
---|
50 | }
|
---|
51 |
|
---|
52 | @BeforeClass
|
---|
53 | public static void setUpClass() throws Exception {
|
---|
54 | }
|
---|
55 |
|
---|
56 | @AfterClass
|
---|
57 | public static void tearDownClass() throws Exception {
|
---|
58 | }
|
---|
59 |
|
---|
60 | @Before
|
---|
61 | public void setUp() {
|
---|
62 | }
|
---|
63 |
|
---|
64 | @After
|
---|
65 | public void tearDown() {
|
---|
66 | }
|
---|
67 |
|
---|
68 | /**
|
---|
69 | * Test of transformDocQueryReq2AuditMsg method, of class DocumentQueryTransforms.
|
---|
70 | */
|
---|
71 | @Test
|
---|
72 | public void testTransformDocQueryReq2AuditMsg() {
|
---|
73 | log.debug("Begin - testTransformDocQueryReq2AuditMsg");
|
---|
74 | LogAdhocQueryRequestType logMessage = new LogAdhocQueryRequestType();
|
---|
75 | AdhocQueryMessageType adhocMessage = new AdhocQueryMessageType();
|
---|
76 | AdhocQueryRequest message = new AdhocQueryRequest();
|
---|
77 | UserType userInfo = new UserType();
|
---|
78 | AuditData auditData = new AuditData();
|
---|
79 |
|
---|
80 | AdhocQueryType adhocType = new AdhocQueryType();
|
---|
81 | adhocType.setId("test query id");
|
---|
82 | SlotType1 slot = new SlotType1();
|
---|
83 | ValueListType valueList = new ValueListType();
|
---|
84 | valueList.getValue().add("12345");
|
---|
85 | slot.setValueList(valueList);
|
---|
86 | adhocType.getSlot().add(slot);
|
---|
87 | message.setAdhocQuery(adhocType);
|
---|
88 |
|
---|
89 | HomeCommunityType home = new HomeCommunityType();
|
---|
90 | home.setHomeCommunityId("2.16.840.1.113883.3.200");
|
---|
91 | home.setName("Federal - VA");
|
---|
92 | userInfo.setOrg(home);
|
---|
93 | PersonNameType personName = new PersonNameType();
|
---|
94 | personName.setFamilyName("Smith");
|
---|
95 | personName.setGivenName("Mary");
|
---|
96 | userInfo.setPersonName(personName);
|
---|
97 | AssertionType assertion = new AssertionType();
|
---|
98 | assertion.setUserInfo(userInfo);
|
---|
99 |
|
---|
100 | adhocMessage.setAdhocQueryRequest(message);
|
---|
101 | adhocMessage.setAssertion(assertion);
|
---|
102 |
|
---|
103 | logMessage.setMessage(adhocMessage);
|
---|
104 |
|
---|
105 | auditData.setReceiverPatientId("12345");
|
---|
106 |
|
---|
107 | LogEventRequestType expResult = new LogEventRequestType();
|
---|
108 | AuditMessageType auditMsg = new AuditMessageType();
|
---|
109 | expResult.setAuditMessage(auditMsg);
|
---|
110 | AuditMessageType.ActiveParticipant participant = new AuditMessageType.ActiveParticipant();
|
---|
111 | participant.setUserName("Mary Smith");
|
---|
112 | expResult.getAuditMessage().getActiveParticipant().add(participant);
|
---|
113 | AuditSourceIdentificationType sourceId = new AuditSourceIdentificationType();
|
---|
114 | sourceId.setAuditEnterpriseSiteID(home.getName());
|
---|
115 | expResult.getAuditMessage().getAuditSourceIdentification().add(sourceId);
|
---|
116 | EventIdentificationType eventId = new EventIdentificationType();
|
---|
117 | eventId.setEventActionCode(AuditDataTransformConstants.EVENT_ACTION_CODE_EXECUTE);
|
---|
118 | expResult.getAuditMessage().setEventIdentification(eventId);
|
---|
119 |
|
---|
120 | LogEventRequestType result = DocumentQueryTransforms.transformDocQueryReq2AuditMsg(logMessage);
|
---|
121 |
|
---|
122 | assertEquals(expResult.getAuditMessage().getActiveParticipant().get(0).getUserName(), result.getAuditMessage().getActiveParticipant().get(0).getUserName());
|
---|
123 | assertEquals(expResult.getAuditMessage().getAuditSourceIdentification().get(0).getAuditEnterpriseSiteID(),
|
---|
124 | result.getAuditMessage().getAuditSourceIdentification().get(0).getAuditEnterpriseSiteID());
|
---|
125 | assertEquals(expResult.getAuditMessage().getEventIdentification().getEventActionCode(), result.getAuditMessage().getEventIdentification().getEventActionCode());
|
---|
126 |
|
---|
127 | log.debug("End - testTransformDocQueryReq2AuditMsg");
|
---|
128 | }
|
---|
129 | /**
|
---|
130 | * Test of transformDocQueryReq2AuditMsg method, of class DocumentQueryTransforms.
|
---|
131 | */
|
---|
132 | @Test
|
---|
133 | public void testTransformDocQueryResp2AuditMsg() {
|
---|
134 | log.debug("Begin - testTransformDocQueryResp2AuditMsg");
|
---|
135 | AdhocQueryResponse message = new AdhocQueryResponse();
|
---|
136 | UserType userInfo = new UserType();
|
---|
137 | AuditData auditData = new AuditData();
|
---|
138 | LogAdhocQueryResultRequestType logMessage = new LogAdhocQueryResultRequestType();
|
---|
139 | AdhocQueryResponseMessageType adhocMessage = new AdhocQueryResponseMessageType();
|
---|
140 | AssertionType assertion = new AssertionType();
|
---|
141 |
|
---|
142 | AdhocQueryType adhocType = new AdhocQueryType();
|
---|
143 | adhocType.setId("test query id");
|
---|
144 | message.setRequestId("5555555");
|
---|
145 |
|
---|
146 | HomeCommunityType home = new HomeCommunityType();
|
---|
147 | home.setHomeCommunityId("2.16.840.1.113883.3.198");
|
---|
148 | home.setName("Federal - DoD");
|
---|
149 | userInfo.setOrg(home);
|
---|
150 | PersonNameType personName = new PersonNameType();
|
---|
151 | personName.setFamilyName("Jones");
|
---|
152 | personName.setGivenName("Bob");
|
---|
153 | userInfo.setPersonName(personName);
|
---|
154 | assertion.setUserInfo(userInfo);
|
---|
155 |
|
---|
156 | adhocMessage.setAdhocQueryResponse(message);
|
---|
157 | adhocMessage.setAssertion(assertion);
|
---|
158 | logMessage.setMessage(adhocMessage);
|
---|
159 | auditData.setReceiverPatientId("999999");
|
---|
160 |
|
---|
161 | AuditMessageType expResult = new AuditMessageType();
|
---|
162 | AuditMessageType.ActiveParticipant participant = new AuditMessageType.ActiveParticipant();
|
---|
163 | participant.setUserName("Bob Jones");
|
---|
164 | expResult.getActiveParticipant().add(participant);
|
---|
165 | AuditSourceIdentificationType sourceId = new AuditSourceIdentificationType();
|
---|
166 | sourceId.setAuditEnterpriseSiteID(home.getName());
|
---|
167 | expResult.getAuditSourceIdentification().add(sourceId);
|
---|
168 | EventIdentificationType eventId = new EventIdentificationType();
|
---|
169 | eventId.setEventActionCode(AuditDataTransformConstants.EVENT_ACTION_CODE_EXECUTE);
|
---|
170 | expResult.setEventIdentification(eventId);
|
---|
171 | LogEventRequestType expected = new LogEventRequestType();
|
---|
172 | expected.setAuditMessage(expResult);
|
---|
173 |
|
---|
174 | LogEventRequestType result = DocumentQueryTransforms.transformDocQueryResp2AuditMsg(logMessage);
|
---|
175 |
|
---|
176 | assertEquals(expected.getAuditMessage().getActiveParticipant().get(0).getUserName(), result.getAuditMessage().getActiveParticipant().get(0).getUserName());
|
---|
177 | assertEquals(expected.getAuditMessage().getEventIdentification().getEventActionCode(), result.getAuditMessage().getEventIdentification().getEventActionCode());
|
---|
178 |
|
---|
179 | log.debug("End - testTransformDocQueryResp2AuditMsg");
|
---|
180 | }
|
---|
181 |
|
---|
182 | }
|
---|