cbf7e2dc1f3e68e460021876421f2f1933b67529
[aaf/authz.git] / misc / rosetta / src / test / java / org / onap / aaf / misc / rosetta / env / JU_RosettaData.java
1 /**
2  * ============LICENSE_START====================================================
3  * org.onap.aaf
4  * ===========================================================================
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6  * ===========================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END====================================================
19  *
20  */
21
22 package org.onap.aaf.misc.rosetta.env;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertTrue;
26 import static org.mockito.MockitoAnnotations.initMocks;
27
28 import java.io.IOException;
29 import java.io.InputStream;
30 import java.io.InputStreamReader;
31 import java.io.OutputStream;
32 import java.io.StringReader;
33 import java.io.StringWriter;
34 import java.io.Writer;
35
36 import javax.xml.bind.JAXBException;
37
38 import org.junit.Before;
39 import org.junit.Test;
40 import org.mockito.Mock;
41 import org.mockito.Mockito;
42 import org.onap.aaf.misc.env.APIException;
43 import org.onap.aaf.misc.env.Data;
44 import org.onap.aaf.misc.env.Data.TYPE;
45 import org.onap.aaf.misc.env.Env;
46 import org.onap.aaf.misc.env.LogTarget;
47 import org.onap.aaf.misc.env.TimeTaken;
48 import org.onap.aaf.misc.env.jaxb.JAXBmar;
49 import org.onap.aaf.misc.env.jaxb.JAXBumar;
50 import org.onap.aaf.misc.rosetta.InXML;
51 import org.onap.aaf.misc.rosetta.Marshal;
52 import org.onap.aaf.misc.rosetta.Out;
53 import org.onap.aaf.misc.rosetta.OutXML;
54 import org.onap.aaf.misc.rosetta.ParseException;
55 import org.onap.aaf.misc.rosetta.Saved;
56
57 public class JU_RosettaData {
58
59         @Mock
60         Env env;
61         
62         @Mock
63         RosettaDF df;
64         
65         @Mock
66         JAXBmar bmar;
67         
68         @Mock
69         Saved saved;
70         
71         @Before
72         public void setUp() {
73                 initMocks(this);
74         }
75         
76         @Test
77         public void testLoad() {
78                 RosettaData rosettaObj = new RosettaData(env, df);
79                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
80                 rosettaObj.setSaved(saved);
81                 StringReader sr= Mockito.mock(StringReader.class);
82                 try {
83                         InXML inxml = Mockito.mock(InXML.class);
84                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
85                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
86                         Mockito.doNothing().when(saved).extract(sr,(Writer)null,inxml);
87                         
88                         rosettaObj = rosettaObj.load(sr);
89                 } catch (APIException | IOException | ParseException e) {
90                         // TODO Auto-generated catch block
91                         e.printStackTrace();
92                 }
93         }
94         
95         @Test
96         public void testLoadException() {
97                 RosettaData rosettaObj = new RosettaData(env, df);
98                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
99                 try {
100                         InXML inxml = Mockito.mock(InXML.class);
101                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
102                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
103                         rosettaObj = rosettaObj.load(Mockito.mock(StringReader.class));
104                 } catch (APIException e) {
105                         assertTrue(e.getMessage().contains("NullPointerException"));
106                 }
107         }
108         
109         @Test
110         public void testLoadIs() {
111                 RosettaData rosettaObj = new RosettaData(env, df);
112                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
113                 rosettaObj.setSaved(saved);
114                 InputStream sr= Mockito.mock(InputStream.class);
115                 try {
116                         InXML inxml = Mockito.mock(InXML.class);
117                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
118                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
119                         Mockito.doNothing().when(saved).extract(new InputStreamReader(sr),(Writer)null,inxml);
120                         
121                         rosettaObj = rosettaObj.load(sr);
122                 } catch (APIException | IOException | ParseException e) {
123                         // TODO Auto-generated catch block
124                         e.printStackTrace();
125                 }
126         }
127         
128         @Test
129         public void testLoadIsException() {
130                 RosettaData rosettaObj = new RosettaData(env, df);
131                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
132                 try {
133                         InXML inxml = Mockito.mock(InXML.class);
134                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
135                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
136                         rosettaObj = rosettaObj.load(Mockito.mock(InputStream.class));
137                 } catch (APIException e) {
138                         assertTrue(e.getMessage().contains("NullPointerException"));
139                 }
140         }
141         
142         @Test
143         public void testLoadStr() {
144                 RosettaData rosettaObj = new RosettaData(env, df);
145                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
146                 rosettaObj.setSaved(saved);
147                 try {
148                         InXML inxml = Mockito.mock(InXML.class);
149                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
150                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
151                         Mockito.doNothing().when(saved).extract(new StringReader("test"),(Writer)null,inxml);
152                         
153                         rosettaObj = rosettaObj.load("test");
154                 } catch (APIException | IOException | ParseException e) {
155                         // TODO Auto-generated catch block
156                         e.printStackTrace();
157                 }
158         }
159         @Test
160         public void testLoadStrJson() {
161                 RosettaData rosettaObj = new RosettaData(env, df);
162                 rosettaObj = rosettaObj.in(Data.TYPE.JSON);
163                 rosettaObj.setSaved(saved);
164                 try {
165                         InXML inxml = Mockito.mock(InXML.class);
166                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.JSON);
167                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
168                         Mockito.doNothing().when(saved).extract(new StringReader("test"),(Writer)null,inxml);
169                         
170                         rosettaObj = rosettaObj.load("test");
171                 } catch (APIException | IOException | ParseException e) {
172                         // TODO Auto-generated catch block
173                         e.printStackTrace();
174                 }
175         }
176         @Test
177         public void testLoadStrException() {
178                 RosettaData rosettaObj = new RosettaData(env, df);
179                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
180                 try {
181                         InXML inxml = Mockito.mock(InXML.class);
182                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
183                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
184                         rosettaObj = rosettaObj.load("test");
185                 } catch (APIException e) {
186                         assertTrue(e.getMessage().contains("NullPointerException"));
187                 }
188         }
189         
190         @Test
191         public void testLoadT() {
192                 RosettaData rosettaObj = new RosettaData(env, df);
193                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
194                 rosettaObj.setSaved(saved);
195                 try {
196                         InXML inxml = Mockito.mock(InXML.class);
197                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
198                         df.jaxMar = Mockito.mock(JAXBmar.class);
199                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
200                         Mockito.doNothing().when(saved).extract(new StringReader("test"),(Writer)null,inxml);
201                         
202                         rosettaObj = rosettaObj.load(bmar);
203                         df.marshal = null;
204                         rosettaObj = rosettaObj.load(bmar);
205                 } catch (APIException | IOException | ParseException e) {
206                         // TODO Auto-generated catch block
207                         e.printStackTrace();
208                 }
209         }
210         
211         @Test
212         public void testLoadTMarshalNull() {
213                 RosettaData rosettaObj = new RosettaData(env, df);
214                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
215                 rosettaObj.setSaved(saved);
216                 try {
217                         InXML inxml = Mockito.mock(InXML.class);
218                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
219                         df.jaxMar = Mockito.mock(JAXBmar.class);
220                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
221                         Mockito.doNothing().when(saved).extract(new StringReader("test"),(Writer)null,inxml);
222                         df.marshal = Mockito.mock(Marshal.class);;
223                         rosettaObj = rosettaObj.load(bmar);
224                 } catch (APIException | IOException | ParseException e) {
225                         // TODO Auto-generated catch block
226                         e.printStackTrace();
227                 }
228         }
229         
230         @Test
231         public void testLoadTException() {
232                 RosettaData rosettaObj = new RosettaData(env, df);
233                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
234                 try {
235                         InXML inxml = Mockito.mock(InXML.class);
236                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
237                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
238                         rosettaObj = rosettaObj.load(bmar);
239                 } catch (APIException e) {
240                         assertTrue(e.getMessage().contains("NullPointerException"));
241                 }
242         }
243         
244         @Test
245         public void testGetEvents() {
246                 RosettaData rosettaObj = new RosettaData(env, df);
247                 Saved saved = rosettaObj.getEvents();
248                 assertEquals("Rosetta Saved", saved.logName());
249         }
250         
251         @Test
252         public void testAsObject() {
253                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
254                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
255                 rosettaObj.setSaved(saved);
256                 try {
257                         Out outxml = Mockito.mock(OutXML.class);
258                         Mockito.doReturn(outxml).when(df).getOut(Data.TYPE.XML);
259                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
260                         Mockito.doReturn("test").when(outxml).logName();
261                         df.jaxMar = Mockito.mock(JAXBmar.class);
262                         df.jaxUmar = Mockito.mock(JAXBumar.class);
263                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",0);
264                         LogTarget lt = Mockito.mock(LogTarget.class);
265                         Mockito.doReturn( lt).when(env).debug();
266                         Mockito.doNothing().when(saved).extract(null,new StringWriter(),saved);
267                         Mockito.doReturn(bmar).when(df.jaxUmar).unmarshal(lt,"");
268                         
269                         bmar = rosettaObj.asObject();
270                         
271                 } catch (APIException | IOException | ParseException | JAXBException e) {
272                         // TODO Auto-generated catch block
273                         e.printStackTrace();
274                 }
275         }
276         
277         @Test
278         public void testAsObjectException() {
279                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
280                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
281                 rosettaObj.setSaved(saved);
282                 try {
283                         Out outxml = Mockito.mock(OutXML.class);
284                         Mockito.doReturn(outxml).when(df).getOut(Data.TYPE.XML);
285                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
286                         Mockito.doReturn("test").when(outxml).logName();
287                         df.jaxMar = Mockito.mock(JAXBmar.class);
288                         df.jaxUmar = Mockito.mock(JAXBumar.class);
289                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",0);
290                         LogTarget lt = Mockito.mock(LogTarget.class);
291                         Mockito.doReturn( lt).when(env).debug();
292                         Mockito.doThrow(new IOException("test Exception")).when(saved).extract(null,new StringWriter(),saved);
293                         Mockito.doThrow(new JAXBException("test Exception")).when(df.jaxUmar).unmarshal(lt,"");
294                         
295                         bmar = rosettaObj.asObject();
296                         
297                 } catch (APIException | IOException | ParseException | JAXBException e) {
298                         assertTrue(e.getMessage().contains("test Exception"));
299                 }
300         }
301
302         @Test
303         public void testAsString() {
304                 TYPE type = TYPE.XML;
305                 Mockito.doReturn(type).when(df).getOutType();
306                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
307                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
308                 rosettaObj.setSaved(saved);
309                 try {
310                         Out outxml = Mockito.mock(OutXML.class);
311                         
312                         Mockito.doReturn(outxml).when(df).getOut(type);
313                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
314                         Mockito.doReturn("test").when(outxml).logName();
315                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",2);
316                         
317                         String retVal = rosettaObj.asString();
318                         assertTrue("".equals(retVal));
319                 } catch (APIException  e) {
320                         // TODO Auto-generated catch block
321                         e.printStackTrace();
322                 }
323         }
324         
325         @Test
326         public void testAsStringJson() {
327                 TYPE type = TYPE.JSON;
328                 Mockito.doReturn(type).when(df).getOutType();
329                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
330                 rosettaObj = rosettaObj.in(Data.TYPE.JSON);
331                 rosettaObj.setSaved(saved);
332                 try {
333                         Out outxml = Mockito.mock(OutXML.class);
334                         
335                         Mockito.doReturn(outxml).when(df).getOut(type);
336                         Mockito.doReturn(Env.JSON).when(df).logType(Data.TYPE.JSON);
337                         Mockito.doReturn("test").when(outxml).logName();
338                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",4);
339                         
340                         String retVal = rosettaObj.asString();
341                         assertTrue("".equals(retVal));
342                 } catch (APIException  e) {
343                         // TODO Auto-generated catch block
344                         e.printStackTrace();
345                 }
346         }
347         @Test
348         public void testToXml() {
349                 TYPE type = TYPE.XML;
350                 Mockito.doReturn(type).when(df).getOutType();
351                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
352                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
353                 rosettaObj.setSaved(saved);
354                 
355                 try {
356                         InXML inxml = Mockito.mock(InXML.class);
357                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
358                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
359                         Mockito.doNothing().when(saved).extract(new StringReader("test"),(Writer)null,inxml);
360                         
361                         rosettaObj = rosettaObj.load("test");
362                 } catch (APIException | IOException | ParseException e) {
363                         // TODO Auto-generated catch block
364                         e.printStackTrace();
365                 }
366                 
367                 try {
368                         Out outxml = Mockito.mock(OutXML.class);
369                         
370                         Mockito.doReturn(outxml).when(df).getOut(type);
371                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
372                         Mockito.doReturn("test").when(outxml).logName();
373                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",2);
374                         RosettaData<JAXBmar> retVal = rosettaObj.to(Mockito.mock(OutputStream.class));
375                         
376                 } catch (APIException | IOException  e) {
377                         // TODO Auto-generated catch block
378                         e.printStackTrace();
379                 }
380         }
381         
382         @Test
383         public void testToJson() {
384                 TYPE type = TYPE.JSON;
385                 Mockito.doReturn(type).when(df).getOutType();
386                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
387                 rosettaObj = rosettaObj.in(Data.TYPE.JSON);
388                 rosettaObj.setSaved(saved);
389                 
390                 try {
391                         InXML inxml = Mockito.mock(InXML.class);
392                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.JSON);
393                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
394                         Mockito.doNothing().when(saved).extract(new StringReader("test"),(Writer)null,inxml);
395                         
396                         rosettaObj = rosettaObj.load("test");
397                 } catch (APIException | IOException | ParseException e) {
398                         // TODO Auto-generated catch block
399                         e.printStackTrace();
400                 }
401                 
402                 try {
403                         Out outxml = Mockito.mock(OutXML.class);
404                         
405                         Mockito.doReturn(outxml).when(df).getOut(type);
406                         Mockito.doReturn(Env.JSON).when(df).logType(Data.TYPE.JSON);
407                         Mockito.doReturn("test").when(outxml).logName();
408                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",4);
409                         RosettaData<JAXBmar> retVal = rosettaObj.to(Mockito.mock(OutputStream.class));
410                         
411                 } catch (APIException | IOException  e) {
412                         // TODO Auto-generated catch block
413                         e.printStackTrace();
414                 }
415         }
416         
417         @Test
418         public void testTo() {
419                 TYPE type = TYPE.XML;
420                 Mockito.doReturn(type).when(df).getOutType();
421                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
422                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
423                 rosettaObj.setSaved(saved);
424                 
425                 try {
426                         Out outxml = Mockito.mock(OutXML.class);
427                         
428                         Mockito.doReturn(outxml).when(df).getOut(type);
429                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
430                         Mockito.doReturn("test").when(outxml).logName();
431                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",2);
432                         RosettaData<JAXBmar> retVal = rosettaObj.to(Mockito.mock(OutputStream.class));
433                         
434                 } catch (APIException | IOException  e) {
435                         // TODO Auto-generated catch block
436                         e.printStackTrace();
437                 }
438         }
439         
440         @Test
441         public void testToWriterXml() {
442                 TYPE type = TYPE.XML;
443                 Mockito.doReturn(type).when(df).getOutType();
444                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
445                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
446                 rosettaObj.setSaved(saved);
447                 
448                 try {
449                         InXML inxml = Mockito.mock(InXML.class);
450                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.XML);
451                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
452                         Mockito.doNothing().when(saved).extract(new StringReader("test"),(Writer)null,inxml);
453                         
454                         rosettaObj = rosettaObj.load("test");
455                 } catch (APIException | IOException | ParseException e) {
456                         // TODO Auto-generated catch block
457                         e.printStackTrace();
458                 }
459                 
460                 try {
461                         Out outxml = Mockito.mock(OutXML.class);
462                         
463                         Mockito.doReturn(outxml).when(df).getOut(type);
464                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
465                         Mockito.doReturn("test").when(outxml).logName();
466                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",2);
467                         RosettaData<JAXBmar> retVal = rosettaObj.to(Mockito.mock(StringWriter.class));
468                         
469                 } catch (APIException | IOException  e) {
470                         // TODO Auto-generated catch block
471                         e.printStackTrace();
472                 }
473         }
474         
475         @Test
476         public void testToWriterJson() {
477                 TYPE type = TYPE.JSON;
478                 Mockito.doReturn(type).when(df).getOutType();
479                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
480                 rosettaObj = rosettaObj.in(Data.TYPE.JSON);
481                 rosettaObj.setSaved(saved);
482                 
483                 try {
484                         InXML inxml = Mockito.mock(InXML.class);
485                         Mockito.doReturn(inxml).when(df).getIn(Data.TYPE.JSON);
486                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(inxml).start(env);
487                         Mockito.doNothing().when(saved).extract(new StringReader("test"),(Writer)null,inxml);
488                         
489                         rosettaObj = rosettaObj.load("test");
490                 } catch (APIException | IOException | ParseException e) {
491                         // TODO Auto-generated catch block
492                         e.printStackTrace();
493                 }
494                 
495                 try {
496                         Out outxml = Mockito.mock(OutXML.class);
497                         
498                         Mockito.doReturn(outxml).when(df).getOut(type);
499                         Mockito.doReturn(Env.JSON).when(df).logType(Data.TYPE.JSON);
500                         Mockito.doReturn("test").when(outxml).logName();
501                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",4);
502                         RosettaData<JAXBmar> retVal = rosettaObj.to(Mockito.mock(StringWriter.class));
503                         
504                 } catch (APIException | IOException  e) {
505                         // TODO Auto-generated catch block
506                         e.printStackTrace();
507                 }
508         }
509         
510         @Test
511         public void testToWriter() {
512                 TYPE type = TYPE.XML;
513                 Mockito.doReturn(type).when(df).getOutType();
514                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
515                 rosettaObj = rosettaObj.in(Data.TYPE.XML);
516                 rosettaObj.setSaved(saved);
517                 
518                 try {
519                         Out outxml = Mockito.mock(OutXML.class);
520                         
521                         Mockito.doReturn(outxml).when(df).getOut(type);
522                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
523                         Mockito.doReturn("test").when(outxml).logName();
524                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",2);
525                         RosettaData<JAXBmar> retVal = rosettaObj.to(Mockito.mock(StringWriter.class));
526                         
527                 } catch (APIException | IOException  e) {
528                         // TODO Auto-generated catch block
529                         e.printStackTrace();
530                 }
531         }
532         
533         @Test
534         public void testGetTypeClass() {
535                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
536                 rosettaObj.getTypeClass();
537         }
538         
539         @Test
540         public void testDirect() {
541                 TYPE type = TYPE.XML;
542                 Mockito.doReturn(type).when(df).getOutType();
543                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
544                 try {
545                         Out outxml = Mockito.mock(OutXML.class);
546                         Mockito.doReturn(outxml).when(df).getOut(type);
547                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
548                         Mockito.doReturn("test").when(outxml).logName();
549                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",2);
550                         rosettaObj.direct(Mockito.mock(InputStream.class), Mockito.mock(OutputStream.class));
551                 } catch (APIException | IOException e) {
552                         // TODO Auto-generated catch block
553                         e.printStackTrace();
554                 }
555         }
556         
557         @Test
558         public void testDirectException() {
559                 TYPE type = TYPE.XML;
560                 Mockito.doReturn(type).when(df).getOutType();
561                 Mockito.doReturn(type).when(df).getInType();
562                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
563                 InXML inxml = null;
564                 
565                 inxml = Mockito.mock(InXML.class);
566                 Mockito.doReturn(inxml).when(df).getIn(type);
567                         
568                 
569                 StringReader is = Mockito.mock(StringReader.class);
570                 StringWriter os= Mockito.mock(StringWriter.class);
571                 try {
572                         Out outxml = Mockito.mock(OutXML.class);
573                         Mockito.doReturn(outxml).when(df).getOut(type);
574                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
575                         Mockito.doReturn("test").when(outxml).logName();
576                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",2);
577                         Mockito.doThrow( new IOException("testException")).when(outxml).extract(is, os, inxml, true);
578                         
579                         rosettaObj.direct(is,os, true);
580                 } catch (APIException | IOException | ParseException e) {
581                         // TODO Auto-generated catch block
582                         assertTrue(e.getMessage().contains("testException"));
583                 }
584         }
585         
586         @Test
587         public void testDirectT() {
588                 TYPE type = TYPE.XML;
589                 Mockito.doReturn(type).when(df).getOutType();
590                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
591                 try {
592                         Out outxml = Mockito.mock(OutXML.class);
593                         Mockito.doReturn(outxml).when(df).getOut(type);
594                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
595                         Mockito.doReturn("test").when(outxml).logName();
596                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",2);
597
598                         df.jaxMar = Mockito.mock(JAXBmar.class);
599                         LogTarget lt = Mockito.mock(LogTarget.class);
600                         Mockito.doReturn( lt).when(env).debug();
601                         Mockito.doReturn(bmar).when(df.jaxMar).marshal(lt,bmar, new StringWriter(),true);
602                         
603                         rosettaObj.direct(bmar, Mockito.mock(StringWriter.class), true);
604                         df.marshal =Mockito.mock(Marshal.class);;
605                         rosettaObj.direct(bmar, Mockito.mock(StringWriter.class), true);
606                 } catch (APIException | IOException | JAXBException e) {
607                         // TODO Auto-generated catch block
608                         e.printStackTrace();
609                 }
610         }
611         
612         @Test
613         public void testDirectTOS() {
614                 TYPE type = TYPE.XML;
615                 Mockito.doReturn(type).when(df).getOutType();
616                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
617                 try {
618                         Out outxml = Mockito.mock(OutXML.class);
619                         Mockito.doReturn(outxml).when(df).getOut(type);
620                         Mockito.doReturn(Env.XML).when(df).logType(Data.TYPE.XML);
621                         Mockito.doReturn("test").when(outxml).logName();
622                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",2);
623
624                         df.jaxMar = Mockito.mock(JAXBmar.class);
625                         LogTarget lt = Mockito.mock(LogTarget.class);
626                         Mockito.doReturn( lt).when(env).debug();
627                         Mockito.doReturn(bmar).when(df.jaxMar).marshal(lt,bmar, new StringWriter(),true);
628                         
629                         rosettaObj.direct(bmar, Mockito.mock(OutputStream.class), true);
630                         df.marshal =Mockito.mock(Marshal.class);;
631                         rosettaObj.direct(bmar, Mockito.mock(OutputStream.class), true);
632                 } catch (APIException | IOException | JAXBException e) {
633                         // TODO Auto-generated catch block
634                         e.printStackTrace();
635                 }
636         }
637         
638         @Test
639         public void testDirectTOSJson() {
640                 TYPE type = TYPE.JSON;
641                 Mockito.doReturn(type).when(df).getOutType();
642                 RosettaData<JAXBmar> rosettaObj = new RosettaData<JAXBmar>(env, df);
643                 try {
644                         Out outxml = Mockito.mock(OutXML.class);
645                         Mockito.doReturn(outxml).when(df).getOut(type);
646                         Mockito.doReturn(Env.JSON).when(df).logType(Data.TYPE.JSON);
647                         Mockito.doReturn("test").when(outxml).logName();
648                         Mockito.doReturn( Mockito.mock(TimeTaken.class)).when(env).start("test",4);
649
650                         df.jaxMar = Mockito.mock(JAXBmar.class);
651                         LogTarget lt = Mockito.mock(LogTarget.class);
652                         Mockito.doReturn( lt).when(env).debug();
653                         Mockito.doReturn(bmar).when(df.jaxMar).marshal(lt,bmar, new StringWriter(),true);
654                         
655                         rosettaObj.direct(bmar, Mockito.mock(OutputStream.class), true);
656                 } catch (APIException | IOException | JAXBException e) {
657                         // TODO Auto-generated catch block
658                         e.printStackTrace();
659                 }
660         }
661         
662
663 }