c25415ecc0c399a011f6a4de22017783a9498d85
[clamp.git] / src / test / java / org / onap / clamp / clds / it / config / CldsReferencePropertiesItCase.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
6  *                             reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END============================================
20  * ===================================================================
21  *
22  */
23
24 package org.onap.clamp.clds.it.config;
25
26 import static org.junit.Assert.assertEquals;
27 import static org.junit.Assert.assertNotNull;
28 import static org.junit.Assert.assertNull;
29 import static org.junit.Assert.assertTrue;
30
31 import com.google.gson.JsonElement;
32
33 import java.io.IOException;
34
35 import org.junit.Test;
36 import org.junit.runner.RunWith;
37 import org.onap.clamp.clds.config.ClampProperties;
38 import org.springframework.beans.factory.annotation.Autowired;
39 import org.springframework.boot.test.context.SpringBootTest;
40 import org.springframework.test.context.junit4.SpringRunner;
41
42 /**
43  * Test corg.onap.clamp.ClampDesigner.model.refprop package using RefProp.
44  */
45 @RunWith(SpringRunner.class)
46 @SpringBootTest
47 public class CldsReferencePropertiesItCase {
48
49     @Autowired
50     private ClampProperties refProp;
51
52     /**
53      * Test getting a value the properties in string.
54      */
55     @Test
56     public void testGetStringValue() {
57         assertEquals("healthcheck", refProp.getStringValue("policy.api.userName"));
58     }
59
60     @Test
61     public void shouldReturnJsonFromTemplate() throws IOException {
62         // when
63         JsonElement root = refProp.getJsonTemplate("ui.location.default");
64
65         // then
66         assertNotNull(root);
67         assertTrue(root.isJsonObject());
68         assertEquals("Data Center 1", root.getAsJsonObject().get("DC1").getAsString());
69     }
70
71     @Test
72     public void shouldReturnJsonFromTemplate_2() throws IOException {
73         // when
74         JsonElement root = refProp.getJsonTemplate("ui.location", "default");
75
76         // then
77         assertNotNull(root);
78         assertTrue(root.isJsonObject());
79         assertEquals("Data Center 1", root.getAsJsonObject().get("DC1").getAsString());
80     }
81
82     @Test
83     public void shouldReturnNullIfPropertyNotFound() throws IOException {
84         // when
85         JsonElement root = refProp.getJsonTemplate("ui.location", "");
86
87         // then
88         assertNull(root);
89     }
90
91     /**
92      * Test getting prop value as a JSON Node / template.
93      *
94      * @throws IOException when JSON parsing fails
95      */
96     @Test
97     public void testGetFileContent() throws IOException {
98         String location = "{\n\t\"DC1\": \"Data Center 1\","
99                 + "\n\t\"DC2\": \"Data Center 2\",\n\t\"DC3\": \"Data Center 3\"\n}\n";
100         String content = refProp.getFileContent("ui.location.default");
101         assertEquals(location, content);
102         // Test composite key
103         content = refProp.getFileContent("ui.location", "default");
104         assertEquals(location, content);
105     }
106 }