1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.openehealth.ipf.commons.ihe.xds.iti51;
18
19 import org.junit.Test;
20 import org.openehealth.ipf.commons.audit.codes.EventActionCode;
21 import org.openehealth.ipf.commons.audit.codes.EventIdCode;
22 import org.openehealth.ipf.commons.audit.codes.EventOutcomeIndicator;
23 import org.openehealth.ipf.commons.audit.model.AuditMessage;
24 import org.openehealth.ipf.commons.ihe.core.atna.AuditDataset.HumanUser;
25 import org.openehealth.ipf.commons.ihe.xds.atna.XdsAuditorTestBase;
26 import org.openehealth.ipf.commons.ihe.xds.core.audit.XdsQueryAuditDataset;
27
28 import java.util.Arrays;
29
30 import static org.junit.Assert.assertEquals;
31
32
33
34
35 public class Iti51AuditStrategyTest extends XdsAuditorTestBase {
36
37 @Test
38 public void testServerSide() {
39 testRequest(true);
40 }
41
42 @Test
43 public void testClientSide() {
44 testRequest(false);
45 }
46
47 private void testRequest(boolean serverSide) {
48 Iti51AuditStrategy strategy = new Iti51AuditStrategy(serverSide);
49 XdsQueryAuditDataset auditDataset = getXdsAuditDataset(strategy);
50 AuditMessage[] auditMessages = makeAuditMessages(strategy, auditContext, auditDataset);
51
52 assertEquals(2, auditMessages.length);
53 for (AuditMessage auditMessage : auditMessages) {
54 auditMessage.validate();
55 }
56
57 assertCommonXdsAuditAttributes(auditMessages[0],
58 EventOutcomeIndicator.Success,
59 EventIdCode.Query,
60 EventActionCode.Execute,
61 serverSide,
62 true);
63 }
64
65 private XdsQueryAuditDataset getXdsAuditDataset(Iti51AuditStrategy strategy) {
66 XdsQueryAuditDataset auditDataset = strategy.createAuditDataset();
67 auditDataset.setEventOutcomeIndicator(EventOutcomeIndicator.Success);
68
69 auditDataset.setRemoteAddress(CLIENT_IP_ADDRESS);
70 auditDataset.setSourceUserId(REPLY_TO_URI);
71 auditDataset.setDestinationUserId(SERVER_URI);
72 auditDataset.setRequestPayload(QUERY_PAYLOAD);
73 auditDataset.setPurposesOfUse(PURPOSES_OF_USE);
74 auditDataset.setQueryUuid(QUERY_ID);
75 auditDataset.setHomeCommunityId(HOME_COMMUNITY_ID);
76 auditDataset.getPatientIds().addAll(Arrays.asList(PATIENT_IDS));
77 auditDataset.getHumanUsers().add(new HumanUser(USER_ID, USER_NAME, USER_ROLES));
78
79 return auditDataset;
80 }
81 }