Add modelType service reactive compatible.
[ccsdk/apps.git] / ms / controllerblueprints / modules / service / src / test / java / org / onap / ccsdk / apps / controllerblueprints / service / rs / ModelTypeRestTest.java
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  * Modifications Copyright © 2018 IBM.\r
4  *\r
5  * Licensed under the Apache License, Version 2.0 (the "License");\r
6  * you may not use this file except in compliance with the License.\r
7  * You may obtain a copy of the License at\r
8  *\r
9  *     http://www.apache.org/licenses/LICENSE-2.0\r
10  *\r
11  * Unless required by applicable law or agreed to in writing, software\r
12  * distributed under the License is distributed on an "AS IS" BASIS,\r
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14  * See the License for the specific language governing permissions and\r
15  * limitations under the License.\r
16  */\r
17 \r
18 package org.onap.ccsdk.apps.controllerblueprints.service.rs;\r
19 \r
20 import com.att.eelf.configuration.EELFLogger;\r
21 import com.att.eelf.configuration.EELFManager;\r
22 import org.junit.*;\r
23 import org.junit.runner.RunWith;\r
24 import org.junit.runners.MethodSorters;\r
25 import org.onap.ccsdk.apps.controllerblueprints.TestApplication;\r
26 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintConstants;\r
27 import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonUtils;\r
28 import org.onap.ccsdk.apps.controllerblueprints.service.controller.ModelTypeController;\r
29 import org.onap.ccsdk.apps.controllerblueprints.service.domain.ModelType;\r
30 import org.springframework.beans.factory.annotation.Autowired;\r
31 import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;\r
32 import org.springframework.test.annotation.Commit;\r
33 import org.springframework.test.context.ContextConfiguration;\r
34 import org.springframework.test.context.junit4.SpringRunner;\r
35 \r
36 import java.util.List;\r
37 \r
38 @RunWith(SpringRunner.class)\r
39 @DataJpaTest\r
40 @ContextConfiguration(classes = {TestApplication.class})\r
41 @FixMethodOrder(MethodSorters.NAME_ASCENDING)\r
42 public class ModelTypeRestTest {\r
43     private static EELFLogger log = EELFManager.getInstance().getLogger(ModelTypeRestTest.class);\r
44     @Autowired\r
45     ModelTypeController modelTypeController;\r
46 \r
47     String modelName = "test-datatype";\r
48 \r
49     @Test\r
50     @Commit\r
51     public void test01SaveModelType() throws Exception {\r
52         log.info("**************** test01SaveModelType  ********************");\r
53 \r
54         String content = JacksonUtils.getClassPathFileContent("model_type/data_type/datatype-property.json");\r
55         ModelType modelType = new ModelType();\r
56         modelType.setDefinitionType(BluePrintConstants.MODEL_DEFINITION_TYPE_DATA_TYPE);\r
57         modelType.setDerivedFrom(BluePrintConstants.MODEL_TYPE_DATATYPES_ROOT);\r
58         modelType.setDescription("Definition for Sample Datatype ");\r
59         modelType.setDefinition(JacksonUtils.jsonNode(content));\r
60         modelType.setModelName(modelName);\r
61         modelType.setVersion("1.0.0");\r
62         modelType.setTags("test-datatype ," + BluePrintConstants.MODEL_TYPE_DATATYPES_ROOT + ","\r
63                 + BluePrintConstants.MODEL_DEFINITION_TYPE_DATA_TYPE);\r
64         modelType.setUpdatedBy("xxxxxx@xxx.com");\r
65         modelType = modelTypeController.saveModelType(modelType);\r
66         log.info("Saved Mode {}", modelType.toString());\r
67         Assert.assertNotNull("Failed to get Saved ModelType", modelType);\r
68         Assert.assertNotNull("Failed to get Saved ModelType, Id", modelType.getModelName());\r
69 \r
70         ModelType dbModelType = modelTypeController.getModelTypeByName(modelType.getModelName());\r
71         Assert.assertNotNull("Failed to query ResourceMapping for ID (" + dbModelType.getModelName() + ")",\r
72                 dbModelType);\r
73 \r
74         // Model Update\r
75         modelType.setUpdatedBy("bs2796@xxx.com");\r
76         modelType = modelTypeController.saveModelType(modelType);\r
77         Assert.assertNotNull("Failed to get Saved ModelType", modelType);\r
78         Assert.assertEquals("Failed to get Saved getUpdatedBy ", "bs2796@xxx.com", modelType.getUpdatedBy());\r
79 \r
80     }\r
81 \r
82     @Test\r
83     public void test02SearchModelTypes() throws Exception {\r
84         log.info("*********************** test02SearchModelTypes  ***************************");\r
85 \r
86         String tags = "test-datatype";\r
87 \r
88         List<ModelType> dbModelTypes = modelTypeController.searchModelTypes(tags);\r
89         Assert.assertNotNull("Failed to search ResourceMapping by tags", dbModelTypes);\r
90         Assert.assertTrue("Failed to search ResourceMapping by tags count", dbModelTypes.size() > 0);\r
91 \r
92     }\r
93 \r
94     @Test\r
95     public void test03GetModelType() throws Exception {\r
96         log.info("************************* test03GetModelType  *********************************");\r
97         ModelType dbModelType = modelTypeController.getModelTypeByName(modelName);\r
98         Assert.assertNotNull("Failed to get response for api call getModelByName " + modelName, dbModelType);\r
99         Assert.assertNotNull("Failed to get Id for api call  getModelByName ", dbModelType.getModelName());\r
100 \r
101         List<ModelType> dbDatatypeModelTypes =\r
102                 modelTypeController.getModelTypeByDefinitionType(BluePrintConstants.MODEL_DEFINITION_TYPE_DATA_TYPE);\r
103         Assert.assertNotNull("Failed to find getModelTypeByDefinitionType by tags", dbDatatypeModelTypes);\r
104         Assert.assertTrue("Failed to find getModelTypeByDefinitionType by count", dbDatatypeModelTypes.size() > 0);\r
105     }\r
106 \r
107     @Test\r
108     @Commit\r
109     public void test04DeleteModelType() throws Exception {\r
110         log.info(\r
111                 "************************ test03DeleteModelType  ***********************");\r
112         ModelType dbResourceMapping = modelTypeController.getModelTypeByName(modelName);\r
113         Assert.assertNotNull("Failed to get response for api call getModelByName ", dbResourceMapping);\r
114         Assert.assertNotNull("Failed to get Id for api call  getModelByName ", dbResourceMapping.getModelName());\r
115 \r
116         modelTypeController.deleteModelTypeByName(dbResourceMapping.getModelName());\r
117     }\r
118 \r
119 \r
120 }\r