refactoring tests in Common-App-Api util
[sdc.git] / common-app-api / src / test / java / org / openecomp / sdc / common / util / SerializationUtilsTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2019 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 package org.openecomp.sdc.common.util;
22
23 import fj.data.Either;
24 import org.junit.Test;
25 import org.openecomp.sdc.fe.config.Configuration;
26
27 import java.util.Collections;
28 import java.util.List;
29
30 import static org.junit.Assert.assertEquals;
31 import static org.junit.Assert.assertFalse;
32 import static org.junit.Assert.assertTrue;
33
34 public class SerializationUtilsTest {
35
36         @Test
37         public void testSerializeAndDeserializeReturnsCorrectObject() {
38
39                 final List<String> list = Collections.singletonList("testList");
40
41                 Either<byte[], Boolean> serializeResult = SerializationUtils.serialize(list);
42                 assertTrue(serializeResult.isLeft());
43                 byte[] serializeList = serializeResult .left().value();
44
45                 Either<Object, Boolean> deserializeResult = SerializationUtils.deserialize(serializeList);
46                 assertTrue(deserializeResult.isLeft());
47                 List<String> deserializeList = (List<String>) deserializeResult.left().value();
48
49                 assertEquals(list, deserializeList);
50         }
51
52         @Test
53         public void testSerializeReturnsFalseIfObjectIsNotSerializable() {
54
55                 final Configuration configuration = new Configuration();
56
57                 Either<byte[], Boolean> serializeResult = SerializationUtils.serialize(configuration);
58                 assertTrue(serializeResult.isRight());
59                 assertFalse(serializeResult.right().value());
60         }
61
62         @Test
63         public void testDeserializeReturnsFalseIfObjectIsNotSerializable() {
64
65                 String testBytes = "wrongBytesToDeserialize";
66
67                 Either<Object, Boolean> serializeResult = SerializationUtils.deserialize(testBytes.getBytes());
68                 assertTrue(serializeResult.isRight());
69                 assertFalse(serializeResult.right().value());
70         }
71
72         @Test
73         public void testSerializeExtAndDeserializeExtReturnsCorrectObject() {
74
75                 final List<String> list = Collections.singletonList("testList");
76
77                 Either<byte[], Boolean> serializeResult = SerializationUtils.serializeExt(list);
78                 assertTrue(serializeResult.isLeft());
79                 byte[] serializeList = serializeResult .left().value();
80
81                 Either<List, Boolean> deserializeResult =
82                                 SerializationUtils.deserializeExt(serializeList,List.class, "testComponent");
83                 assertTrue(deserializeResult.isLeft());
84                 List<String> deserializeList = deserializeResult.left().value();
85
86                 assertEquals(list, deserializeList);
87         }
88
89         @Test
90         public void testSerializeExtReturnsFalseIfObjectIsNotSerializable() {
91
92                 final Configuration configuration = new Configuration();
93
94                 Either<byte[], Boolean> serializeResult = SerializationUtils.serializeExt(configuration);
95                 assertTrue(serializeResult.isRight());
96                 assertFalse(serializeResult.right().value());
97         }
98
99         @Test
100         public void testDeserializeExtReturnsFalseIfObjectIsNotSerializable() {
101
102                 String testBytes = "wrongBytesToDeserialize";
103
104                 Either<List, Boolean> serializeResult =
105                                 SerializationUtils.deserializeExt(testBytes.getBytes(),List.class, "testComponent");
106                 assertTrue(serializeResult.isRight());
107                 assertFalse(serializeResult.right().value());
108         }
109 }