Adding more Junits to misc env
[aaf/authz.git] / misc / env / src / test / java / org / onap / aaf / misc / env / jaxb / JU_JAXBDataTest.java
diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/jaxb/JU_JAXBDataTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/jaxb/JU_JAXBDataTest.java
new file mode 100644 (file)
index 0000000..80de9b7
--- /dev/null
@@ -0,0 +1,180 @@
+/**\r
+ * ============LICENSE_START====================================================\r
+ * org.onap.aaf\r
+ * ===========================================================================\r
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.\r
+ * ===========================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ * \r
+ *      http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END====================================================\r
+ *\r
+ */\r
+package org.onap.aaf.misc.env.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertTrue;\r
+import static org.mockito.Mockito.mock;\r
+import static org.mockito.Mockito.verify;\r
+import static org.mockito.Mockito.when;\r
+\r
+import java.io.ByteArrayInputStream;\r
+import java.io.IOException;\r
+import java.io.OutputStream;\r
+import java.io.Writer;\r
+\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.mockito.Mock;\r
+import org.onap.aaf.misc.env.APIException;\r
+import org.onap.aaf.misc.env.Env;\r
+import org.onap.aaf.misc.env.EnvJAXB;\r
+import org.onap.aaf.misc.env.IOStringifier;\r
+import org.onap.aaf.misc.env.old.Objectifier;\r
+import org.onap.aaf.misc.env.old.Stringifier;\r
+\r
+public class JU_JAXBDataTest {\r
+\r
+       @Mock\r
+       private Objectifier<String> objfr;\r
+\r
+       private String object = "Text";\r
+\r
+       @Mock\r
+       private Stringifier<String> strfr;\r
+\r
+       @Mock\r
+       private IOStringifier<String> ioStrfr;\r
+\r
+       @Mock\r
+       private JAXBDF<String> df;\r
+\r
+       @Mock\r
+       private Env env;\r
+\r
+       @Mock\r
+       private Class<String> typeClass;\r
+\r
+       @Mock\r
+       private OutputStream os;\r
+\r
+       @Mock\r
+       private Writer writer;\r
+\r
+       @Mock\r
+       private EnvJAXB env1;\r
+\r
+       @Before\r
+       public void setUp() throws Exception {\r
+               writer = mock(Writer.class);\r
+               os = mock(OutputStream.class);\r
+               strfr = mock(Stringifier.class);\r
+               ioStrfr = mock(IOStringifier.class);\r
+               objfr = mock(Objectifier.class);\r
+               env1 = mock(EnvJAXB.class);\r
+       }\r
+\r
+       @Test\r
+       public void testJAXBDataEnv() throws APIException, IOException {\r
+               JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object, typeClass);\r
+\r
+               when(objfr.objectify(env, object)).thenReturn("String1");\r
+\r
+               jaxb.to(os);\r
+               jaxb.to(writer);\r
+\r
+               verify(writer).write(object);\r
+               verify(os).write(object.getBytes());\r
+\r
+               assertEquals(jaxb.asString(), object);\r
+               assertEquals(jaxb.asString(null), object);\r
+               assertEquals(jaxb.toString(), object);\r
+               assertEquals(jaxb.getTypeClass(), typeClass);\r
+               assertEquals(jaxb.out(null), jaxb);\r
+               assertEquals(jaxb.in(null), jaxb);\r
+               assertTrue(jaxb.getInputStream() instanceof ByteArrayInputStream);\r
+               assertEquals(jaxb.asObject(), "String1");\r
+               assertEquals(jaxb.asObject(env1), "String1");\r
+               assertEquals(jaxb.toString(), object);\r
+       }\r
+\r
+       @Test\r
+       public void testJAXBDataEnvForObjectifier() throws APIException, IOException {\r
+               JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object, typeClass);\r
+\r
+               when(objfr.objectify(env1, object)).thenReturn("String1");\r
+\r
+               assertEquals(jaxb.asObject(env1), "String1");\r
+       }\r
+\r
+       @Test\r
+       public void testJAXBDataEnvWithObject() throws APIException, IOException {\r
+               JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
+\r
+               when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
+\r
+               jaxb.to(os);\r
+\r
+               verify(os).write(object.getBytes());\r
+\r
+               assertEquals(jaxb.asString(), object);\r
+               assertEquals(jaxb.asString(null), object);\r
+               assertEquals(jaxb.toString(), object);\r
+       }\r
+\r
+       @Test\r
+       public void testJAXBDataEnvForWriter() throws APIException, IOException {\r
+               JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
+\r
+               when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
+\r
+               jaxb.to(writer);\r
+\r
+               verify(writer).write(object);\r
+\r
+               assertEquals(jaxb.asString(), object);\r
+               assertEquals(jaxb.asString(null), object);\r
+               assertEquals(jaxb.toString(), object);\r
+               assertEquals(jaxb.asObject(), object);\r
+               assertEquals(jaxb.asObject(null), object);\r
+       }\r
+\r
+       @Test\r
+       public void testAsStringWithNullString() throws APIException, IOException {\r
+               JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
+\r
+               when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
+\r
+               assertEquals(jaxb.asString(), object);\r
+       }\r
+\r
+       @Test\r
+       public void testAsStringWithNullStringWithEnv() throws APIException, IOException {\r
+               JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
+\r
+               when(strfr.stringify(env1, object)).thenReturn(object);\r
+\r
+               assertEquals(jaxb.asString(env1), object);\r
+       }\r
+\r
+       @Test\r
+       public void testToWithIOStrifier() throws APIException, IOException {\r
+               JAXBData<String> jaxb = new JAXBData<String>(env, df, strfr, objfr, object);\r
+\r
+               jaxb.option(0);\r
+\r
+               when(strfr.stringify(env1, object)).thenReturn(object);\r
+               when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object);\r
+\r
+               assertTrue(jaxb.getInputStream() instanceof ByteArrayInputStream);\r
+               assertEquals(jaxb.asString(env1), object);\r
+       }\r
+}\r