73d6eca999bcf77b4aa786584ff06d6a289c3ba4
[ccsdk/cds.git] /
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package org.onap.ccsdk.apps.controllerblueprints.service.rs;\r
18 \r
19 import org.apache.commons.io.IOUtils;\r
20 import org.junit.Assert;\r
21 import org.junit.Before;\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.resource.dict.data.*;\r
28 import org.onap.ccsdk.apps.controllerblueprints.service.domain.ResourceDictionary;\r
29 import org.slf4j.Logger;\r
30 import org.slf4j.LoggerFactory;\r
31 import org.springframework.beans.factory.annotation.Autowired;\r
32 import org.springframework.boot.test.context.SpringBootTest;\r
33 import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;\r
34 import org.springframework.test.context.ContextConfiguration;\r
35 import org.springframework.test.context.junit4.SpringRunner;\r
36 \r
37 import java.nio.charset.Charset;\r
38 import java.util.ArrayList;\r
39 import java.util.List;\r
40 \r
41 \r
42 @RunWith(SpringRunner.class)\r
43 @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)\r
44 @ContextConfiguration(classes = {TestApplication.class})\r
45 @FixMethodOrder(MethodSorters.NAME_ASCENDING)\r
46 public class ResourceDictionaryRestTest {\r
47 \r
48     private static Logger log = LoggerFactory.getLogger(ResourceDictionaryRestTest.class);\r
49 \r
50     @Autowired\r
51     protected ResourceDictionaryRest resourceDictionaryRest;\r
52 \r
53     @Before\r
54     public void setUp() {\r
55         SourceDeserializer.registerSource("db", SourceDb.class);\r
56         SourceDeserializer.registerSource("input", SourceInput.class);\r
57         SourceDeserializer.registerSource("mdsal", SourceMdsal.class);\r
58         SourceDeserializer.registerSource("default", SourceDefault.class);\r
59     }\r
60 \r
61     @Test\r
62     public void test01SaveDataDictionary() throws Exception {\r
63         String definition = IOUtils.toString(\r
64                 getClass().getClassLoader().getResourceAsStream("resourcedictionary/default_definition.json"),\r
65                 Charset.defaultCharset());\r
66 \r
67         ResourceDictionary dataDictionary = new ResourceDictionary();\r
68         dataDictionary.setResourcePath("test/vnf/ipaddress");\r
69         dataDictionary.setName("test-name");\r
70         dataDictionary.setDefinition(definition);\r
71         dataDictionary.setValidValues("127.0.0.1");\r
72         dataDictionary.setResourceType("ONAP");\r
73         dataDictionary.setDataType("string");\r
74         dataDictionary.setDescription("Sample Resource Mapping");\r
75         dataDictionary.setTags("test, ipaddress");\r
76         dataDictionary.setUpdatedBy("xxxxxx@xxx.com");\r
77 \r
78         dataDictionary = resourceDictionaryRest.saveResourceDictionary(dataDictionary);\r
79 \r
80         Assert.assertNotNull("Failed to get Saved Resource Dictionary", dataDictionary);\r
81         Assert.assertNotNull("Failed to get Saved Resource Dictionary, Id", dataDictionary.getName());\r
82 \r
83         ResourceDictionary dbDataDictionary =\r
84                 resourceDictionaryRest.getResourceDictionaryByName(dataDictionary.getName());\r
85         Assert.assertNotNull("Failed to query Resource Dictionary for ID (" + dataDictionary.getName() + ")",\r
86                 dbDataDictionary);\r
87         Assert.assertNotNull("Failed to query Resource Dictionary definition for ID (" + dataDictionary.getName() + ")",\r
88                 dbDataDictionary.getDefinition());\r
89 \r
90         log.trace("Saved Dictionary " + dbDataDictionary.getDefinition());\r
91 \r
92     }\r
93 \r
94     @Test\r
95     public void test02GetDataDictionary() throws Exception {\r
96 \r
97         ResourceDictionary dbResourceDictionary = resourceDictionaryRest.getResourceDictionaryByName("test-name");\r
98         Assert.assertNotNull("Failed to query Resource Dictionary by Name", dbResourceDictionary);\r
99 \r
100         String tags = "ipaddress";\r
101 \r
102         List<ResourceDictionary> dbResourceDictionaries = resourceDictionaryRest.searchResourceDictionaryByTags(tags);\r
103         Assert.assertNotNull("Failed to search ResourceDictionary by tags", dbResourceDictionaries);\r
104         Assert.assertTrue("Failed to search searchResourceDictionaryByTags by tags by count",\r
105                 dbResourceDictionaries.size() > 0);\r
106 \r
107         List<String> names = new ArrayList<>();\r
108         names.add("test-name");\r
109         dbResourceDictionaries = resourceDictionaryRest.searchResourceDictionaryByNames(names);\r
110         Assert.assertNotNull("Failed to search ResourceDictionary by Names", dbResourceDictionaries);\r
111         Assert.assertTrue("Failed to search searchResourceDictionaryByNames by tags by count",\r
112                 dbResourceDictionaries.size() > 0);\r
113 \r
114     }\r
115 \r
116 }\r