Controller Blueprints Microservice
[ccsdk/apps.git] / ms / controllerblueprints / modules / resource-dict / src / test / java / org / onap / ccsdk / apps / controllerblueprints / resource / dict / service / ResourceDefinitionValidationServiceTest.java
1 /*
2  *  Copyright © 2018 IBM.
3  *
4  *  Licensed under the Apache License, Version 2.0 (the "License");
5  *  you may not use this file except in compliance with the License.
6  *  You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an "AS IS" BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License.
15  */
16
17 package org.onap.ccsdk.apps.controllerblueprints.resource.dict.service;
18
19 import org.junit.Assert;
20 import org.junit.Test;
21 import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintRepoFileService;
22 import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonUtils;
23 import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceDefinition;
24
25 public class ResourceDefinitionValidationServiceTest {
26     private String basePath = "load/model_type";
27     private String dictionaryPath = "load/resource_dictionary";
28     private BluePrintRepoFileService bluePrintRepoFileService = new BluePrintRepoFileService(basePath);
29
30     @Test
31     public void testValidateSource() throws Exception {
32
33         String inputFileName = dictionaryPath + "/db-source.json";
34         testValidate(inputFileName);
35
36         String dbFileName = dictionaryPath + "/db-source.json";
37         testValidate(dbFileName);
38
39         String defaultFileName = dictionaryPath + "/default-source.json";
40         testValidate(defaultFileName);
41
42         String restFileName = dictionaryPath + "/mdsal-source.json";
43         testValidate(restFileName);
44     }
45
46     private void testValidate(String fileName) throws Exception {
47
48         ResourceDefinition resourceDefinition = JacksonUtils.readValueFromFile(fileName, ResourceDefinition.class);
49         Assert.assertNotNull("Failed to populate dictionaryDefinition for  type", resourceDefinition);
50
51         ResourceDefinitionValidationService resourceDictionaryValidationService =
52                 new ResourceDefinitionDefaultValidationService(bluePrintRepoFileService);
53         resourceDictionaryValidationService.validate(resourceDefinition);
54         Assert.assertNotNull(String.format("Failed to populate dictionaryDefinition for : %s", fileName), resourceDefinition);
55     }
56 }