source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Common/NhincDataTransformsLib/test/gov/hhs/fha/nhinc/transform/audit/DocumentQueryTransformsTest.java@ 507

Last change on this file since 507 was 507, checked in by George Lilly, 15 years ago

NHIN gateway and adaptor for use on linux with VistA EHR and RPMS

File size: 7.9 KB
Line 
1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5
6package gov.hhs.fha.nhinc.transform.audit;
7
8import org.apache.commons.logging.Log;
9import org.apache.commons.logging.LogFactory;
10
11import javax.xml.bind.JAXBElement;
12
13import com.services.nhinc.schema.auditmessage.AuditMessageType;
14import com.services.nhinc.schema.auditmessage.EventIdentificationType;
15import com.services.nhinc.schema.auditmessage.AuditSourceIdentificationType;
16
17import oasis.names.tc.ebxml_regrep.xsd.query._3.AdhocQueryResponse;
18import oasis.names.tc.ebxml_regrep.xsd.query._3.AdhocQueryRequest;
19import oasis.names.tc.ebxml_regrep.xsd.rim._3.AdhocQueryType;
20import oasis.names.tc.ebxml_regrep.xsd.rim._3.SlotType1;
21import oasis.names.tc.ebxml_regrep.xsd.rim._3.ValueListType;
22import oasis.names.tc.ebxml_regrep.xsd.rim._3.RegistryObjectListType;
23import oasis.names.tc.ebxml_regrep.xsd.rim._3.IdentifiableType;
24
25import org.junit.After;
26import org.junit.AfterClass;
27import org.junit.Before;
28import org.junit.BeforeClass;
29import org.junit.Test;
30import static org.junit.Assert.*;
31
32import gov.hhs.fha.nhinc.common.nhinccommon.UserType;
33import gov.hhs.fha.nhinc.common.nhinccommon.HomeCommunityType;
34import gov.hhs.fha.nhinc.common.nhinccommon.PersonNameType;
35import gov.hhs.fha.nhinc.common.auditlog.LogAdhocQueryRequestType;
36import gov.hhs.fha.nhinc.common.auditlog.AdhocQueryMessageType;
37import gov.hhs.fha.nhinc.common.nhinccommon.AssertionType;
38import gov.hhs.fha.nhinc.common.auditlog.LogAdhocQueryResultRequestType;
39import gov.hhs.fha.nhinc.common.auditlog.AdhocQueryResponseMessageType;
40import gov.hhs.fha.nhinc.common.auditlog.LogEventRequestType;
41
42/**
43 *
44 * @author MFLYNN02
45 */
46public 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}
Note: See TracBrowser for help on using the repository browser.