f9d5bd1c1735b64aa472cc186be912ce8092c1e0
[so.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 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.so.adapters.appc.orchestrator.client;
22
23 import static org.assertj.core.api.Assertions.assertThat;
24 import org.junit.Test;
25 import org.junit.runner.RunWith;
26 import org.onap.appc.client.lcm.exceptions.AppcClientException;
27 import org.onap.appc.client.lcm.model.Status;
28 import junitparams.JUnitParamsRunner;
29 import junitparams.Parameters;
30
31 @RunWith(JUnitParamsRunner.class)
32 public class ApplicationControllerSupportTest {
33     private ApplicationControllerSupport applicationControllerSupport = new ApplicationControllerSupport();
34
35     public static Object[][] statusesAndCategories() {
36         return new Object[][] {{100, StatusCategory.NORMAL}, {200, StatusCategory.ERROR}, {300, StatusCategory.ERROR},
37                 {400, StatusCategory.NORMAL}, {401, StatusCategory.ERROR}, {500, StatusCategory.NORMAL},
38                 {501, StatusCategory.ERROR}, {502, StatusCategory.WARNING}, {800, StatusCategory.WARNING},};
39     }
40
41     public static Object[][] statusesAndFinalities() {
42         return new Object[][] {{100, false}, {200, true}, {300, true}, {400, true}, {500, false}, {800, true},};
43     }
44
45     @Test
46     @Parameters(method = "statusesAndCategories")
47     public void shouldReturnCategoryForCode(int code, StatusCategory category) throws Exception {
48         // when
49         StatusCategory detectedCategory = applicationControllerSupport.getCategoryOf(createStatus(code));
50         // then
51         assertThat(detectedCategory).isEqualTo(category);
52     }
53
54     @Test
55     @Parameters(method = "statusesAndFinalities")
56     public void shouldReturnFinalityForCode(int code, boolean expectedFinality) throws Exception {
57         // when
58         boolean finality = applicationControllerSupport.getFinalityOf(createStatus(code));
59         // then
60         assertThat(finality).isEqualTo(expectedFinality);
61     }
62
63     @Test
64     public void buildStatusFromAppcException_Test() {
65         String errorMessage = "errormessage";
66         AppcClientException exception = new AppcClientException(errorMessage);
67         Status status = applicationControllerSupport.buildStatusFromAppcException(exception);
68         assertThat(status.getCode()).isEqualTo(200);
69         assertThat(status.getMessage()).isEqualTo("Exception on APPC request: " + errorMessage);
70     }
71
72     private Status createStatus(int code) {
73         Status status = new Status();
74         status.setCode(code);
75         return status;
76     }
77 }