5955ae1915a8868922652e40a4a8c926a160f0a3
[ccsdk/cds.git] /
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 org.apache.commons.io.IOUtils;\r
21 import org.junit.Assert;\r
22 import org.junit.FixMethodOrder;\r
23 import org.junit.Test;\r
24 import org.junit.runner.RunWith;\r
25 import org.junit.runners.MethodSorters;\r
26 import org.onap.ccsdk.apps.controllerblueprints.TestApplication;\r
27 import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonUtils;\r
28 import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceDefinition;\r
29 import org.onap.ccsdk.apps.controllerblueprints.service.domain.ResourceDictionary;\r
30 import com.att.eelf.configuration.EELFLogger;\r
31 import com.att.eelf.configuration.EELFManager;\r
32 import org.springframework.beans.factory.annotation.Autowired;\r
33 import org.springframework.boot.test.context.SpringBootTest;\r
34 import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;\r
35 import org.springframework.test.context.ContextConfiguration;\r
36 import org.springframework.test.context.junit4.SpringRunner;\r
37 \r
38 import java.nio.charset.Charset;\r
39 import java.util.ArrayList;\r
40 import java.util.List;\r
41 \r
42 \r
43 @RunWith(SpringRunner.class)\r
44 @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)\r
45 @ContextConfiguration(classes = {TestApplication.class})\r
46 @FixMethodOrder(MethodSorters.NAME_ASCENDING)\r
47 public class ResourceDictionaryRestTest {\r
48 \r
49     private static EELFLogger log = EELFManager.getInstance().getLogger(ResourceDictionaryRestTest.class);\r
50 \r
51     @Autowired\r
52     protected ResourceDictionaryRest resourceDictionaryRest;\r
53 \r
54     @Test\r
55     public void test01SaveDataDictionary() throws Exception {\r
56         String definition = IOUtils.toString(\r
57                 getClass().getClassLoader().getResourceAsStream("resourcedictionary/default_definition.json"),\r
58                 Charset.defaultCharset());\r
59 \r
60         ResourceDictionary dataDictionary = new ResourceDictionary();\r
61         dataDictionary.setName("test-name");\r
62         dataDictionary.setDefinition(JacksonUtils.readValue(definition, ResourceDefinition.class));\r
63         dataDictionary.setDataType("string");\r
64         dataDictionary.setDescription("Sample Resource Mapping");\r
65         dataDictionary.setTags("test, ipaddress");\r
66         dataDictionary.setUpdatedBy("xxxxxx@xxx.com");\r
67 \r
68         dataDictionary = resourceDictionaryRest.saveResourceDictionary(dataDictionary);\r
69 \r
70         Assert.assertNotNull("Failed to get Saved Resource Dictionary", dataDictionary);\r
71         Assert.assertNotNull("Failed to get Saved Resource Dictionary, Id", dataDictionary.getName());\r
72 \r
73         ResourceDictionary dbDataDictionary =\r
74                 resourceDictionaryRest.getResourceDictionaryByName(dataDictionary.getName());\r
75         Assert.assertNotNull("Failed to query Resource Dictionary for ID (" + dataDictionary.getName() + ")",\r
76                 dbDataDictionary);\r
77         Assert.assertNotNull("Failed to query Resource Dictionary definition for ID (" + dataDictionary.getName() + ")",\r
78                 dbDataDictionary.getDefinition());\r
79 \r
80         log.trace("Saved Dictionary " + dbDataDictionary.getDefinition());\r
81 \r
82     }\r
83 \r
84     @Test\r
85     public void test02GetDataDictionary() throws Exception {\r
86 \r
87         ResourceDictionary dbResourceDictionary = resourceDictionaryRest.getResourceDictionaryByName("test-name");\r
88         Assert.assertNotNull("Failed to query Resource Dictionary by Name", dbResourceDictionary);\r
89 \r
90         String tags = "ipaddress";\r
91 \r
92         List<ResourceDictionary> dbResourceDictionaries = resourceDictionaryRest.searchResourceDictionaryByTags(tags);\r
93         Assert.assertNotNull("Failed to search ResourceDictionary by tags", dbResourceDictionaries);\r
94         Assert.assertTrue("Failed to search searchResourceDictionaryByTags by tags by count",\r
95                 dbResourceDictionaries.size() > 0);\r
96 \r
97         List<String> names = new ArrayList<>();\r
98         names.add("test-name");\r
99         dbResourceDictionaries = resourceDictionaryRest.searchResourceDictionaryByNames(names);\r
100         Assert.assertNotNull("Failed to search ResourceDictionary by Names", dbResourceDictionaries);\r
101         Assert.assertTrue("Failed to search searchResourceDictionaryByNames by tags by count",\r
102                 dbResourceDictionaries.size() > 0);\r
103 \r
104     }\r
105 \r
106 }\r