View Javadoc
1   /*
2    * Copyright 2013 the original author or authors.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *     
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.openehealth.ipf.commons.ihe.xds.core.transform.requests.ebxml30;
17  
18  import org.junit.Before;
19  import org.junit.Test;
20  import org.openehealth.ipf.commons.ihe.xds.core.SampleData;
21  import org.openehealth.ipf.commons.ihe.xds.core.ebxml.EbXMLAdhocQueryRequest;
22  import org.openehealth.ipf.commons.ihe.xds.core.ebxml.EbXMLSlot;
23  import org.openehealth.ipf.commons.ihe.xds.core.ebxml.ebxml30.EbXMLFactory30;
24  import org.openehealth.ipf.commons.ihe.xds.core.requests.query.*;
25  import org.openehealth.ipf.commons.ihe.xds.core.transform.requests.QueryParameter;
26  import org.openehealth.ipf.commons.ihe.xds.core.transform.requests.query.FindDocumentsByReferenceIdQueryTransformer;
27  
28  import java.util.Arrays;
29  import java.util.Collections;
30  import java.util.List;
31  
32  import static org.junit.Assert.assertEquals;
33  
34  /**
35   * Tests for {@link FindDocumentsByReferenceIdQueryTransformer}.
36   * @author Dmytro Rud
37   */
38  public class FindDocumentsByReferenceIdQueryTransformerTest {
39      private FindDocumentsByReferenceIdQueryTransformer transformer;
40      private FindDocumentsByReferenceIdQuery query;
41      private EbXMLAdhocQueryRequest ebXML;
42      
43      @Before
44      public void setUp() {
45          transformer = new FindDocumentsByReferenceIdQueryTransformer();
46          query = (FindDocumentsByReferenceIdQuery) SampleData.createFindDocumentsByReferenceIdQuery().getQuery();
47          ebXML = new EbXMLFactory30().createAdhocQueryRequest();
48      }
49  
50      @Test
51      public void testToEbXML() {
52          transformer.toEbXML(query, ebXML);
53  
54          assertEquals(QueryType.FIND_DOCUMENTS_BY_REFERENCE_ID.getId(), ebXML.getId());
55          assertEquals("12.21.41", ebXML.getHome());
56          assertEquals(Collections.singletonList("'id3^^^&1.3&ISO'"),
57                  ebXML.getSlotValues(QueryParameter.DOC_ENTRY_PATIENT_ID.getSlotName()));
58  
59          List<EbXMLSlot> referenceIdSlots = ebXML.getSlots(QueryParameter.DOC_ENTRY_REFERENCE_IDS.getSlotName());
60          assertEquals(2, referenceIdSlots.size());
61          assertEquals(Arrays.asList(
62                  "('ref-id-11^^^&1.1.1.1&ISO^urn:ihe:iti:xds:2013:uniqueId')",
63                  "('ref-id-12^^^^urn:ihe:iti:xdw:2013:workflowInstanceId')",
64                  "('ref-id-13^^^^urn:ihe:iti:xds:2013:referral')"),
65                  referenceIdSlots.get(0).getValueList());
66          assertEquals(Arrays.asList(
67                  "('ref-id-21^^^&1.1.1.2&ISO^urn:ihe:iti:xds:2013:accession')",
68                  "('ref-id-22^^^^urn:ihe:iti:xds:2013:order')"),
69                  referenceIdSlots.get(1).getValueList());
70      }
71  
72      @Test
73      public void testToEbXMLNull() {
74          transformer.toEbXML(null, ebXML);
75          assertEquals(0, ebXML.getSlots().size());
76      }
77  
78      @Test
79      public void testToEbXMLEmpty() {
80          transformer.toEbXML(new FindDocumentsByReferenceIdQuery(), ebXML);
81          assertEquals(0, ebXML.getSlots().size());
82      }
83  
84      @Test
85      public void testFromEbXML() {
86          transformer.toEbXML(query, ebXML);
87          FindDocumentsByReferenceIdQuery result = new FindDocumentsByReferenceIdQuery();
88          transformer.fromEbXML(result, ebXML);
89          assertEquals(query, result);
90      }
91  
92      @Test
93      public void testFromEbXMLNull() {
94          FindDocumentsByReferenceIdQuery result = new FindDocumentsByReferenceIdQuery();
95          transformer.fromEbXML(result, null);        
96          assertEquals(new FindDocumentsByReferenceIdQuery(), result);
97      }
98  
99      @Test
100     public void testFromEbXMLEmpty() {
101         FindDocumentsByReferenceIdQuery result = new FindDocumentsByReferenceIdQuery();
102         transformer.fromEbXML(result, ebXML);        
103         assertEquals(new FindDocumentsByReferenceIdQuery(), result);
104     }
105 
106 }