View Javadoc
1   /*
2    * Copyright 2009 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 static org.junit.Assert.*;
19  
20  import java.util.Collections;
21  
22  import org.junit.Before;
23  import org.junit.Test;
24  import org.openehealth.ipf.commons.ihe.xds.core.ebxml.EbXMLAdhocQueryRequest;
25  import org.openehealth.ipf.commons.ihe.xds.core.ebxml.ebxml30.EbXMLFactory30;
26  import org.openehealth.ipf.commons.ihe.xds.core.requests.query.GetFoldersForDocumentQuery;
27  import org.openehealth.ipf.commons.ihe.xds.core.requests.query.QueryType;
28  import org.openehealth.ipf.commons.ihe.xds.core.transform.requests.QueryParameter;
29  import org.openehealth.ipf.commons.ihe.xds.core.transform.requests.query.GetFoldersForDocumentQueryTransformer;
30  
31  /**
32   * Tests for {@link GetFoldersForDocumentQueryTransformer}.
33   * @author Jens Riemschneider
34   */
35  public class GetFoldersForDocumentQueryTransformerTest {
36      private GetFoldersForDocumentQueryTransformer transformer;
37      private GetFoldersForDocumentQuery query;
38      private EbXMLAdhocQueryRequest ebXML;
39      
40      @Before
41      public void setUp() {
42          transformer = new GetFoldersForDocumentQueryTransformer();
43          query = new GetFoldersForDocumentQuery();
44  
45          query.setUuid("uuid1");
46          query.setUniqueId("uniqueId1");
47          query.setHomeCommunityId("home");
48  
49          ebXML = new EbXMLFactory30().createAdhocQueryRequest();
50      }
51      
52      @Test
53      public void testToEbXML() {
54          transformer.toEbXML(query, ebXML);
55          assertEquals(QueryType.GET_FOLDERS_FOR_DOCUMENT.getId(), ebXML.getId());
56          
57          assertEquals(Collections.singletonList("'uuid1'"),
58                  ebXML.getSlotValues(QueryParameter.DOC_ENTRY_UUID.getSlotName()));
59          
60          assertEquals(Collections.singletonList("'uniqueId1'"),
61                  ebXML.getSlotValues(QueryParameter.DOC_ENTRY_UNIQUE_ID.getSlotName()));
62  
63          assertEquals("home", ebXML.getHome());
64          assertEquals(2, ebXML.getSlots().size());
65      }
66      
67      @Test
68      public void testToEbXMLNull() {
69          transformer.toEbXML(null, ebXML);
70          assertEquals(0, ebXML.getSlots().size());
71      }
72      
73      @Test
74      public void testToEbXMLEmpty() {
75          transformer.toEbXML(new GetFoldersForDocumentQuery(), ebXML);
76          assertEquals(0, ebXML.getSlots().size());
77      }
78  
79      
80      
81      @Test
82      public void testFromEbXML() {
83          transformer.toEbXML(query, ebXML);
84          GetFoldersForDocumentQuery result = new GetFoldersForDocumentQuery();
85          transformer.fromEbXML(result, ebXML);
86          
87          assertEquals(query, result);
88      }
89      
90      @Test
91      public void testFromEbXMLNull() {
92          GetFoldersForDocumentQuery result = new GetFoldersForDocumentQuery();
93          transformer.fromEbXML(result, null);        
94          assertEquals(new GetFoldersForDocumentQuery(), result);
95      }
96          
97      @Test
98      public void testFromEbXMLEmpty() {
99          GetFoldersForDocumentQuery result = new GetFoldersForDocumentQuery();
100         transformer.fromEbXML(result, ebXML);        
101         assertEquals(new GetFoldersForDocumentQuery(), result);
102     }
103 }