Increasing test coverage for vid.mso.rest
[vid.git] / vid-app-common / src / test / java / org / onap / vid / mso / rest / RequestStatusTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
4  * ================================================================================
5  * Copyright (C) 2019 Nokia 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 import org.assertj.core.api.AssertionsForClassTypes;
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.hamcrest.MatcherAssert.assertThat;
30
31 public class RequestStatusTest {
32
33     private RequestStatus RequestStatus;
34
35     private String propertyName = "testProperty";
36     private String additionalProperty = "testAdditionalProperty";
37
38     @BeforeMethod
39     public void setUp() {
40         RequestStatus = new RequestStatus();
41     }
42
43     @Test
44     public void shouldHaveProperSettersAndGetters() {
45         assertThat(RequestStatus.class, hasValidGettersAndSettersExcluding("additionalProperties"));
46     }
47
48     @Test
49     public void shouldHaveProperGetterAndSetterForAdditionalProperties() {
50         //      when
51         RequestStatus.setAdditionalProperty(propertyName,additionalProperty);
52
53         //      then
54         AssertionsForClassTypes.assertThat( RequestStatus.getAdditionalProperties().get(propertyName) ).isEqualTo(additionalProperty);
55     }
56
57     @Test
58     public void shouldProperlyCheckIfObjectsAreEqual() {
59         assertThat(RequestStatus.class, hasValidBeanEqualsExcluding("additionalProperties"));
60     }
61
62     @Test
63     public void shouldProperlyConvertRelatedInstanceObjectToString() {
64         //      given
65         RequestStatus.setAdditionalProperty(propertyName,additionalProperty);
66         RequestStatus.setRequestState("testState");
67         RequestStatus.setTimestamp("100");
68
69         //      when
70         String response = RequestStatus.toString();
71
72         //      then
73         System.out.println(response);
74         AssertionsForClassTypes.assertThat(response).contains(
75                "percentProgress=<null>," +
76                        "requestState=testState," +
77                        "statusMessage=<null>," +
78                        "timestamp=100," +
79                        "wasRolledBack=<null>," +
80                        "additionalProperties={"+propertyName+"="+additionalProperty+"}]"
81         );
82     }
83
84 }