aboutsummaryrefslogtreecommitdiffstats
path: root/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/services/YamlUtilTest.java
blob: 063680f9ed86a8c3da25efeb62ed857b8ece83ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*-
 * ============LICENSE_START=======================================================
 * SDC
 * ================================================================================
 * Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
 * ================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============LICENSE_END=========================================================
 */

package org.onap.sdc.tosca.services;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;

import java.io.InputStream;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;


public class YamlUtilTest {

    private YamlUtil yamlUtil = new YamlUtil();

    @Test
    public void testYamlToMap() {
        InputStream is = yamlUtil.loadYamlFileIs("/yamlMap.yaml");
        Map<String, LinkedHashMap<String, Object>> res = yamlUtil.yamlToMap(is);
        assertNotNull(res);
        assertEquals(1, res.size());
        assertEquals("value1", (String)res.get("complex-mapping").get("parameter1"));
        assertEquals("value2", (String)res.get("complex-mapping").get("parameter2"));
        assertEquals("value3", (String)res.get("complex-mapping").get("parameter3"));
    }

    @Test
    public void testYamlToList() {
        InputStream is = yamlUtil.loadYamlFileIs("/yamlList.yaml");
        Optional<List<Object>> res = yamlUtil.yamlToList(is);
        assertEquals(3, res.get().size());
        assertEquals("value1", res.get().get(0));

        InputStream is2 = yamlUtil.loadYamlFileIs("/yamlListError.yaml");
        Optional<List<Object>> res2 = yamlUtil.yamlToList(is2);
        assertTrue(res2.isEmpty());
    }

    @Test
    public void testIsYamlFileContentValid() {
        String yamlString = "tosca_definitions_version: tosca_simple_yaml_1_1\n" +
                "imports: []\n" +
                "node_types:\n" +
                "  tosca.nodes.Root:\n" +
                "    description: The TOSCA Node Type all other TOSCA base Node Types derive from";
        boolean res = yamlUtil.isYamlFileContentValid(yamlString);
        assertTrue(res);

        String yamlString2 = "{tosca_definitions_version: tosca_simple_yaml_1_1\n" +
                "node_types:\n" +
                "  tosca.nodes.Root:\n" +
                "    description: The TOSCA Node Type all other TOSCA base Node Types derive from}";
        boolean res2 = yamlUtil.isYamlFileContentValid(yamlString2);
        assertFalse(res2);
    }
}