8257dc365d7b9262f97595b46de6f322ab1a869a
[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.Before;\r
23 import org.junit.FixMethodOrder;\r
24 import org.junit.Test;\r
25 import org.junit.runner.RunWith;\r
26 import org.junit.runners.MethodSorters;\r
27 import org.onap.ccsdk.apps.controllerblueprints.TestApplication;\r
28 import org.onap.ccsdk.apps.controllerblueprints.resource.dict.data.*;\r
29 import org.onap.ccsdk.apps.controllerblueprints.service.domain.ResourceDictionary;\r
30 import org.slf4j.Logger;\r
31 import org.slf4j.LoggerFactory;\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 Logger log = LoggerFactory.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.setResourcePath("test/vnf/ipaddress");\r
62         dataDictionary.setName("test-name");\r
63         dataDictionary.setDefinition(definition);\r
64         dataDictionary.setValidValues("127.0.0.1");\r
65         dataDictionary.setResourceType("ONAP");\r
66         dataDictionary.setDataType("string");\r
67         dataDictionary.setDescription("Sample Resource Mapping");\r
68         dataDictionary.setTags("test, ipaddress");\r
69         dataDictionary.setUpdatedBy("xxxxxx@xxx.com");\r
70 \r
71         dataDictionary = resourceDictionaryRest.saveResourceDictionary(dataDictionary);\r
72 \r
73         Assert.assertNotNull("Failed to get Saved Resource Dictionary", dataDictionary);\r
74         Assert.assertNotNull("Failed to get Saved Resource Dictionary, Id", dataDictionary.getName());\r
75 \r
76         ResourceDictionary dbDataDictionary =\r
77                 resourceDictionaryRest.getResourceDictionaryByName(dataDictionary.getName());\r
78         Assert.assertNotNull("Failed to query Resource Dictionary for ID (" + dataDictionary.getName() + ")",\r
79                 dbDataDictionary);\r
80         Assert.assertNotNull("Failed to query Resource Dictionary definition for ID (" + dataDictionary.getName() + ")",\r
81                 dbDataDictionary.getDefinition());\r
82 \r
83         log.trace("Saved Dictionary " + dbDataDictionary.getDefinition());\r
84 \r
85     }\r
86 \r
87     @Test\r
88     public void test02GetDataDictionary() throws Exception {\r
89 \r
90         ResourceDictionary dbResourceDictionary = resourceDictionaryRest.getResourceDictionaryByName("test-name");\r
91         Assert.assertNotNull("Failed to query Resource Dictionary by Name", dbResourceDictionary);\r
92 \r
93         String tags = "ipaddress";\r
94 \r
95         List<ResourceDictionary> dbResourceDictionaries = resourceDictionaryRest.searchResourceDictionaryByTags(tags);\r
96         Assert.assertNotNull("Failed to search ResourceDictionary by tags", dbResourceDictionaries);\r
97         Assert.assertTrue("Failed to search searchResourceDictionaryByTags by tags by count",\r
98                 dbResourceDictionaries.size() > 0);\r
99 \r
100         List<String> names = new ArrayList<>();\r
101         names.add("test-name");\r
102         dbResourceDictionaries = resourceDictionaryRest.searchResourceDictionaryByNames(names);\r
103         Assert.assertNotNull("Failed to search ResourceDictionary by Names", dbResourceDictionaries);\r
104         Assert.assertTrue("Failed to search searchResourceDictionaryByNames by tags by count",\r
105                 dbResourceDictionaries.size() > 0);\r
106 \r
107     }\r
108 \r
109 }\r