1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.xds.core.transform.requests.ebxml30;
17
18 import static org.junit.Assert.*;
19
20 import java.util.Arrays;
21 import java.util.Collections;
22
23 import org.junit.Before;
24 import org.junit.Test;
25 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.EbXMLAdhocQueryRequest;
26 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.ebxml30.EbXMLFactory30;
27 import org.openehealth.ipf.commons.ihe.xds.core.metadata.AssociationType;
28 import org.openehealth.ipf.commons.ihe.xds.core.metadata.DocumentEntryType;
29 import org.openehealth.ipf.commons.ihe.xds.core.requests.query.GetRelatedDocumentsQuery;
30 import org.openehealth.ipf.commons.ihe.xds.core.requests.query.QueryType;
31 import org.openehealth.ipf.commons.ihe.xds.core.transform.requests.QueryParameter;
32 import org.openehealth.ipf.commons.ihe.xds.core.transform.requests.query.GetDocumentsQueryTransformer;
33 import org.openehealth.ipf.commons.ihe.xds.core.transform.requests.query.GetRelatedDocumentsQueryTransformer;
34
35
36
37
38
39 public class GetRelatedDocumentsQueryTransformerTest {
40 private GetRelatedDocumentsQueryTransformer transformer;
41 private GetRelatedDocumentsQuery query;
42 private EbXMLAdhocQueryRequest ebXML;
43
44 @Before
45 public void setUp() {
46 transformer = new GetRelatedDocumentsQueryTransformer();
47 query = new GetRelatedDocumentsQuery();
48
49 query.setUuid("uuid1");
50 query.setUniqueId("uniqueId1");
51 query.setHomeCommunityId("home");
52 query.setAssociationTypes(Arrays.asList(AssociationType.HAS_MEMBER, AssociationType.TRANSFORM_AND_REPLACE));
53 query.setDocumentEntryTypes(Collections.singletonList(DocumentEntryType.STABLE));
54
55 ebXML = new EbXMLFactory30().createAdhocQueryRequest();
56 }
57
58 @Test
59 public void testToEbXML() {
60 transformer.toEbXML(query, ebXML);
61 assertEquals(QueryType.GET_RELATED_DOCUMENTS.getId(), ebXML.getId());
62
63 assertEquals(Collections.singletonList("'uuid1'"),
64 ebXML.getSlotValues(QueryParameter.DOC_ENTRY_UUID.getSlotName()));
65
66 assertEquals(Collections.singletonList("'uniqueId1'"),
67 ebXML.getSlotValues(QueryParameter.DOC_ENTRY_UNIQUE_ID.getSlotName()));
68
69 assertEquals("home", ebXML.getHome());
70
71 assertEquals(Arrays.asList("('urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember')", "('urn:ihe:iti:2007:AssociationType:XFRM_RPLC')"),
72 ebXML.getSlotValues(QueryParameter.ASSOCIATION_TYPE.getSlotName()));
73
74 assertEquals(Collections.singletonList("('urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1')"),
75 ebXML.getSlotValues(QueryParameter.DOC_ENTRY_TYPE.getSlotName()));
76
77 assertEquals(4, ebXML.getSlots().size());
78 }
79
80 @Test
81 public void testToEbXMLNull() {
82 transformer.toEbXML(null, ebXML);
83 assertEquals(0, ebXML.getSlots().size());
84 }
85
86 @Test
87 public void testToEbXMLEmpty() {
88 transformer.toEbXML(new GetRelatedDocumentsQuery(), ebXML);
89 assertEquals(0, ebXML.getSlots().size());
90 }
91
92
93
94 @Test
95 public void testFromEbXML() {
96 transformer.toEbXML(query, ebXML);
97 GetRelatedDocumentsQuery result = new GetRelatedDocumentsQuery();
98 transformer.fromEbXML(result, ebXML);
99
100 assertEquals(query, result);
101 }
102
103 @Test
104 public void testFromEbXMLNull() {
105 GetRelatedDocumentsQuery result = new GetRelatedDocumentsQuery();
106 transformer.fromEbXML(result, null);
107 assertEquals(new GetRelatedDocumentsQuery(), result);
108 }
109
110 @Test
111 public void testFromEbXMLEmpty() {
112 GetRelatedDocumentsQuery result = new GetRelatedDocumentsQuery();
113 transformer.fromEbXML(result, ebXML);
114 assertEquals(new GetRelatedDocumentsQuery(), result);
115 }
116 }