MsoUtil refactor
[vid.git] / vid-app-common / src / test / java / org / onap / vid / mso / MsoUtilTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2019 Nokia. All rights reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.vid.mso;
23
24 import io.joshworks.restclient.http.HttpResponse;
25 import io.joshworks.restclient.http.mapper.ObjectMapper;
26 import org.apache.http.HttpResponseFactory;
27 import org.apache.http.entity.StringEntity;
28 import org.apache.http.impl.DefaultHttpResponseFactory;
29 import org.apache.http.message.BasicStatusLine;
30 import org.junit.Test;
31
32 import static org.apache.http.HttpStatus.SC_OK;
33 import static org.apache.http.HttpVersion.HTTP_1_1;
34 import static org.assertj.core.api.Assertions.assertThat;
35
36 public class MsoUtilTest {
37
38     @Test
39     public void shouldWrapRestObject() {
40         // given
41         String entity = "entity";
42         RestObject<String> restObject = new RestObject<>();
43         restObject.set(entity);
44         restObject.setStatusCode(SC_OK);
45         // when
46         MsoResponseWrapper result = MsoUtil.wrapResponse(restObject);
47         // then
48         assertThat(result.getEntity()).isEqualTo(entity);
49         assertThat(result.getStatus()).isEqualTo(SC_OK);
50     }
51
52     @Test
53     public void shouldWrapHttpResponse() throws Exception {
54         // given
55         HttpResponse<String> httpResponse = createTestHttpResponse(SC_OK, null);
56         // when
57         MsoResponseWrapper result = MsoUtil.wrapResponse(httpResponse);
58         // then
59         assertThat(result.getEntity()).isEqualTo(null);
60         assertThat(result.getStatus()).isEqualTo(SC_OK);
61     }
62
63     @Test
64     public void shouldWrapHttpResponseWithEntity() throws Exception {
65         // given
66         String entity = "entity";
67         HttpResponse<String> httpResponse = createTestHttpResponse(SC_OK, entity);
68         // when
69         MsoResponseWrapper result = MsoUtil.wrapResponse(httpResponse);
70         // then
71         assertThat(result.getEntity()).isEqualTo(entity);
72         assertThat(result.getStatus()).isEqualTo(SC_OK);
73     }
74
75     private HttpResponse<String> createTestHttpResponse(int statusCode, String entity) throws Exception {
76         HttpResponseFactory factory = new DefaultHttpResponseFactory();
77         org.apache.http.HttpResponse response = factory.newHttpResponse(new BasicStatusLine(HTTP_1_1, statusCode, null), null);
78         if (entity != null) {
79             response.setEntity(new StringEntity(entity));
80         }
81         return new HttpResponse<>(response, String.class, null);
82     }
83 }