changed to unmaintained
[aaf/authz.git] / misc / env / src / test / java / org / onap / aaf / misc / env / jaxb / JU_JAXBDataTest.java
1 /**\r
2  * ============LICENSE_START====================================================\r
3  * org.onap.aaf\r
4  * ===========================================================================\r
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.\r
6  * ===========================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END====================================================\r
19  *\r
20  */\r
21 \r
22 package org.onap.aaf.misc.env.jaxb;\r
23 \r
24 import static org.junit.Assert.assertEquals;\r
25 import static org.junit.Assert.assertTrue;\r
26 import static org.mockito.Mockito.mock;\r
27 import static org.mockito.Mockito.verify;\r
28 import static org.mockito.Mockito.when;\r
29 \r
30 import java.io.ByteArrayInputStream;\r
31 import java.io.IOException;\r
32 import java.io.OutputStream;\r
33 import java.io.Writer;\r
34 \r
35 import org.junit.Before;\r
36 import org.junit.Test;\r
37 import org.mockito.Mock;\r
38 import org.onap.aaf.misc.env.APIException;\r
39 import org.onap.aaf.misc.env.Env;\r
40 import org.onap.aaf.misc.env.EnvJAXB;\r
41 import org.onap.aaf.misc.env.IOStringifier;\r
42 import org.onap.aaf.misc.env.old.Objectifier;\r
43 import org.onap.aaf.misc.env.old.Stringifier;\r
44 \r
45 public class JU_JAXBDataTest {\r
46 \r
47     @Mock\r
48     private Objectifier<String> objfr;\r
49 \r
50     private String object = "Text";\r
51 \r
52     @Mock\r
53     private Stringifier<String> strfr;\r
54 \r
55     @Mock\r
56     private IOStringifier<String> ioStrfr;\r
57 \r
58     @Mock\r
59     private JAXBDF<String> df;\r
60 \r
61     @Mock\r
62     private Env env;\r
63 \r
64     @Mock\r
65     private Class<String> typeClass;\r
66 \r
67     @Mock\r
68     private OutputStream os;\r
69 \r
70     @Mock\r
71     private Writer writer;\r
72 \r
73     @Mock\r
74     private EnvJAXB env1;\r
75 \r
76     @Before\r
77     public void setUp() throws Exception {\r
78         writer = mock(Writer.class);\r
79         os = mock(OutputStream.class);\r
80         strfr = mock(Stringifier.class);\r
81         ioStrfr = mock(IOStringifier.class);\r
82         objfr = mock(Objectifier.class);\r
83         env1 = mock(EnvJAXB.class);\r
84     }\r
85 \r
86     @Test\r
87     public void testJAXBDataEnv() throws APIException, IOException {\r
88         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object, typeClass);\r
89 \r
90         when(objfr.objectify(env, object)).thenReturn("String1");\r
91 \r
92         jaxb.to(os);\r
93         jaxb.to(writer);\r
94 \r
95         verify(writer).write(object);\r
96         verify(os).write(object.getBytes());\r
97 \r
98         assertEquals(jaxb.asString(), object);\r
99         assertEquals(jaxb.asString(null), object);\r
100         assertEquals(jaxb.toString(), object);\r
101         assertEquals(jaxb.getTypeClass(), typeClass);\r
102         assertEquals(jaxb.out(null), jaxb);\r
103         assertEquals(jaxb.in(null), jaxb);\r
104         assertTrue(jaxb.getInputStream() instanceof ByteArrayInputStream);\r
105         assertEquals(jaxb.asObject(), "String1");\r
106         assertEquals(jaxb.asObject(env1), "String1");\r
107         assertEquals(jaxb.toString(), object);\r
108     }\r
109 \r
110     @Test\r
111     public void testJAXBDataEnvForObjectifier() throws APIException, IOException {\r
112         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object, typeClass);\r
113 \r
114         when(objfr.objectify(env1, object)).thenReturn("String1");\r
115 \r
116         assertEquals(jaxb.asObject(env1), "String1");\r
117     }\r
118 \r
119     @Test\r
120     public void testJAXBDataEnvWithObject() throws APIException, IOException {\r
121         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
122 \r
123         when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
124 \r
125         jaxb.to(os);\r
126 \r
127         verify(os).write(object.getBytes());\r
128 \r
129         assertEquals(jaxb.asString(), object);\r
130         assertEquals(jaxb.asString(null), object);\r
131         assertEquals(jaxb.toString(), object);\r
132     }\r
133 \r
134     @Test\r
135     public void testJAXBDataEnvForWriter() throws APIException, IOException {\r
136         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
137 \r
138         when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
139 \r
140         jaxb.to(writer);\r
141 \r
142         verify(writer).write(object);\r
143 \r
144         assertEquals(jaxb.asString(), object);\r
145         assertEquals(jaxb.asString(null), object);\r
146         assertEquals(jaxb.toString(), object);\r
147         assertEquals(jaxb.asObject(), object);\r
148         assertEquals(jaxb.asObject(null), object);\r
149     }\r
150 \r
151     @Test\r
152     public void testAsStringWithNullString() throws APIException, IOException {\r
153         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
154 \r
155         when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
156 \r
157         assertEquals(jaxb.asString(), object);\r
158     }\r
159 \r
160     @Test\r
161     public void testAsStringWithNullStringWithEnv() throws APIException, IOException {\r
162         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
163 \r
164         when(strfr.stringify(env1, object)).thenReturn(object);\r
165 \r
166         assertEquals(jaxb.asString(env1), object);\r
167     }\r
168 \r
169     @Test\r
170     public void testToWithIOStrifier() throws APIException, IOException {\r
171         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
172 \r
173         jaxb.option(0);\r
174 \r
175         when(strfr.stringify(env1, object)).thenReturn(object);\r
176         when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
177 \r
178         assertTrue(jaxb.getInputStream() instanceof ByteArrayInputStream);\r
179         assertEquals(jaxb.asString(env1), object);\r
180     }\r
181 }\r