Mass removal of all Tabs (Style Warnings)
[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 package org.onap.aaf.misc.env.jaxb;\r
22 \r
23 import static org.junit.Assert.assertEquals;\r
24 import static org.junit.Assert.assertTrue;\r
25 import static org.mockito.Mockito.mock;\r
26 import static org.mockito.Mockito.verify;\r
27 import static org.mockito.Mockito.when;\r
28 \r
29 import java.io.ByteArrayInputStream;\r
30 import java.io.IOException;\r
31 import java.io.OutputStream;\r
32 import java.io.Writer;\r
33 \r
34 import org.junit.Before;\r
35 import org.junit.Test;\r
36 import org.mockito.Mock;\r
37 import org.onap.aaf.misc.env.APIException;\r
38 import org.onap.aaf.misc.env.Env;\r
39 import org.onap.aaf.misc.env.EnvJAXB;\r
40 import org.onap.aaf.misc.env.IOStringifier;\r
41 import org.onap.aaf.misc.env.old.Objectifier;\r
42 import org.onap.aaf.misc.env.old.Stringifier;\r
43 \r
44 public class JU_JAXBDataTest {\r
45 \r
46     @Mock\r
47     private Objectifier<String> objfr;\r
48 \r
49     private String object = "Text";\r
50 \r
51     @Mock\r
52     private Stringifier<String> strfr;\r
53 \r
54     @Mock\r
55     private IOStringifier<String> ioStrfr;\r
56 \r
57     @Mock\r
58     private JAXBDF<String> df;\r
59 \r
60     @Mock\r
61     private Env env;\r
62 \r
63     @Mock\r
64     private Class<String> typeClass;\r
65 \r
66     @Mock\r
67     private OutputStream os;\r
68 \r
69     @Mock\r
70     private Writer writer;\r
71 \r
72     @Mock\r
73     private EnvJAXB env1;\r
74 \r
75     @Before\r
76     public void setUp() throws Exception {\r
77         writer = mock(Writer.class);\r
78         os = mock(OutputStream.class);\r
79         strfr = mock(Stringifier.class);\r
80         ioStrfr = mock(IOStringifier.class);\r
81         objfr = mock(Objectifier.class);\r
82         env1 = mock(EnvJAXB.class);\r
83     }\r
84 \r
85     @Test\r
86     public void testJAXBDataEnv() throws APIException, IOException {\r
87         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object, typeClass);\r
88 \r
89         when(objfr.objectify(env, object)).thenReturn("String1");\r
90 \r
91         jaxb.to(os);\r
92         jaxb.to(writer);\r
93 \r
94         verify(writer).write(object);\r
95         verify(os).write(object.getBytes());\r
96 \r
97         assertEquals(jaxb.asString(), object);\r
98         assertEquals(jaxb.asString(null), object);\r
99         assertEquals(jaxb.toString(), object);\r
100         assertEquals(jaxb.getTypeClass(), typeClass);\r
101         assertEquals(jaxb.out(null), jaxb);\r
102         assertEquals(jaxb.in(null), jaxb);\r
103         assertTrue(jaxb.getInputStream() instanceof ByteArrayInputStream);\r
104         assertEquals(jaxb.asObject(), "String1");\r
105         assertEquals(jaxb.asObject(env1), "String1");\r
106         assertEquals(jaxb.toString(), object);\r
107     }\r
108 \r
109     @Test\r
110     public void testJAXBDataEnvForObjectifier() throws APIException, IOException {\r
111         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object, typeClass);\r
112 \r
113         when(objfr.objectify(env1, object)).thenReturn("String1");\r
114 \r
115         assertEquals(jaxb.asObject(env1), "String1");\r
116     }\r
117 \r
118     @Test\r
119     public void testJAXBDataEnvWithObject() throws APIException, IOException {\r
120         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
121 \r
122         when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
123 \r
124         jaxb.to(os);\r
125 \r
126         verify(os).write(object.getBytes());\r
127 \r
128         assertEquals(jaxb.asString(), object);\r
129         assertEquals(jaxb.asString(null), object);\r
130         assertEquals(jaxb.toString(), object);\r
131     }\r
132 \r
133     @Test\r
134     public void testJAXBDataEnvForWriter() throws APIException, IOException {\r
135         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
136 \r
137         when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
138 \r
139         jaxb.to(writer);\r
140 \r
141         verify(writer).write(object);\r
142 \r
143         assertEquals(jaxb.asString(), object);\r
144         assertEquals(jaxb.asString(null), object);\r
145         assertEquals(jaxb.toString(), object);\r
146         assertEquals(jaxb.asObject(), object);\r
147         assertEquals(jaxb.asObject(null), object);\r
148     }\r
149 \r
150     @Test\r
151     public void testAsStringWithNullString() throws APIException, IOException {\r
152         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
153 \r
154         when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
155 \r
156         assertEquals(jaxb.asString(), object);\r
157     }\r
158 \r
159     @Test\r
160     public void testAsStringWithNullStringWithEnv() throws APIException, IOException {\r
161         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
162 \r
163         when(strfr.stringify(env1, object)).thenReturn(object);\r
164 \r
165         assertEquals(jaxb.asString(env1), object);\r
166     }\r
167 \r
168     @Test\r
169     public void testToWithIOStrifier() throws APIException, IOException {\r
170         JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
171 \r
172         jaxb.option(0);\r
173 \r
174         when(strfr.stringify(env1, object)).thenReturn(object);\r
175         when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
176 \r
177         assertTrue(jaxb.getInputStream() instanceof ByteArrayInputStream);\r
178         assertEquals(jaxb.asString(env1), object);\r
179     }\r
180 }\r