Increasing test coverage for vid.mso.rest
[vid.git] / vid-app-common / src / test / java / org / onap / vid / mso / rest / RequestTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
4  * ================================================================================
5  * Copyright (C) 2017 - 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.onap.vid.mso.rest;
22
23
24 import org.testng.annotations.BeforeMethod;
25 import org.testng.annotations.Test;
26
27 import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEqualsExcluding;
28 import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSettersExcluding;
29 import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
30 import static org.hamcrest.MatcherAssert.assertThat;
31
32 public class RequestTest {
33
34
35     private Request request;
36
37     private String propertyName = "testProperty";
38     private String additionalProperty = "testAdditionalProperty";
39
40     @BeforeMethod
41     public void setUp() {
42         request = new Request();
43     }
44
45     @Test
46     public void shouldHaveProperSettersAndGetters() {
47         assertThat(Request.class, hasValidGettersAndSettersExcluding("additionalProperties"));
48     }
49
50     @Test
51     public void shouldHaveProperGetterAndSetterForAdditionalProperties() {
52         //      when
53         request.setAdditionalProperty(propertyName,additionalProperty);
54
55         //      then
56         assertThat( request.getAdditionalProperties().get(propertyName) ).isEqualTo(additionalProperty);
57     }
58
59     @Test
60     public void shouldProperlyConvertRelatedInstanceObjectToString() {
61         //      given
62         request.setFinishTime("100");
63         request.setRequestId("testRequest");
64         request.setAdditionalProperty(propertyName,additionalProperty);
65
66         //      when
67         String response = request.toString();
68
69         //      then
70         assertThat(response).contains(
71                 "[instanceIds=<null>," +
72                         "requestDetails=<null>," +
73                         "requestStatus=<null>," +
74                         "finishTime="+100+"," +
75                         "requestId=testRequest," +
76                         "requestScope=<null>," +
77                         "requestType=<null>," +
78                         "startTime=<null>," +
79                         "additionalProperties={"+propertyName+"="+additionalProperty+"}]"
80         );
81     }
82
83     @Test
84     public void shouldProperlyCheckIfObjectsAreEqual() {
85         assertThat(Request.class, hasValidBeanEqualsExcluding("additionalProperties"));
86     }
87 }