Helm-generator - seedcode delivery for helm chart generation tool from component...
[dcaegen2/platform.git] / mod2 / helm-generator / helmchartgenerator-core / src / test / java / org / onap / dcaegen2 / platform / helmchartgenerator / ComponentSpecValidatorTest.java
1 /*
2  * # ============LICENSE_START=======================================================
3  * # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.
4  * # ================================================================================
5  * # Licensed under the Apache License, Version 2.0 (the "License");
6  * # you may not use this file except in compliance with the License.
7  * # You may obtain a copy of the License at
8  * #
9  * #      http://www.apache.org/licenses/LICENSE-2.0
10  * #
11  * # Unless required by applicable law or agreed to in writing, software
12  * # distributed under the License is distributed on an "AS IS" BASIS,
13  * # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * # See the License for the specific language governing permissions and
15  * # limitations under the License.
16  * # ============LICENSE_END=========================================================
17  */
18
19 package org.onap.dcaegen2.platform.helmchartgenerator;
20
21 import org.junit.jupiter.api.BeforeEach;
22 import org.junit.jupiter.api.Test;
23 import org.junit.jupiter.api.extension.ExtendWith;
24 import org.mockito.junit.jupiter.MockitoExtension;
25 import org.onap.dcaegen2.platform.helmchartgenerator.validation.ComponentSpecValidator;
26 import org.onap.dcaegen2.platform.helmchartgenerator.validation.ComponentSpecValidatorImpl;
27
28 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
29 import static org.junit.jupiter.api.Assertions.assertThrows;
30
31 @ExtendWith(MockitoExtension.class)
32 public class ComponentSpecValidatorTest {
33
34     private static final String SPEC_SCHEMA = "src/test/input/specs/schemas/component-spec-schema.json";
35
36     ComponentSpecValidator validator;
37
38     @BeforeEach
39     void setUp() {
40         validator = new ComponentSpecValidatorImpl();
41     }
42
43     @Test
44     void validSpecShouldNotThrowAnyException() {
45         String specSchema = "src/test/input/specs/schemas/component-spec-schema.json";
46         String specFileLocation = "src/test/input/specs/ves.json";
47         assertDoesNotThrow(() -> validator.validateSpecFile(specFileLocation, specSchema));
48     }
49
50     @Test
51     void invalidSpecShouldThrowRuntimeException() {
52         String specFileLocation = "src/test/input/specs/invalidSpecSchema.json";
53         assertThrows(RuntimeException.class, () -> validator.validateSpecFile(specFileLocation, SPEC_SCHEMA));
54     }
55
56     @Test
57     void ifNoHelmSectionFoundThrowRuntimeError() {
58         String specFileLocation = "src/test/input/specs/invalidSpecNoHelm.json";
59         assertThrows(RuntimeException.class, () -> validator.validateSpecFile(specFileLocation, SPEC_SCHEMA));
60     }
61
62     @Test
63     void ifNoServiceSectionFoundThrowRuntimeError() {
64         String specFileLocation = "src/test/input/specs/invalidSpecNoServices.json";
65         assertThrows(RuntimeException.class, () -> validator.validateSpecFile(specFileLocation, SPEC_SCHEMA));
66     }
67
68 }