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