[sdc] docker file fix for cassandra
[sdc.git] / openecomp-be / lib / openecomp-sdc-validation-lib / openecomp-sdc-validation-impl / src / test / java / org / openecomp / sdc / validation / impl / validators / validators / YamlValidatorTest.java
1 package org.openecomp.sdc.validation.impl.validators.validators;
2
3
4 import org.openecomp.sdc.validation.impl.validators.ValidatorBaseTest;
5 import org.openecomp.sdc.validation.impl.validators.YamlValidator;
6 import org.openecomp.core.validation.errors.Messages;
7 import org.openecomp.core.validation.types.MessageContainer;
8
9 import org.testng.Assert;
10 import org.testng.annotations.Test;
11
12 import java.util.Map;
13
14 public class YamlValidatorTest extends ValidatorBaseTest {
15
16
17   public Map<String, MessageContainer> runValidation(String path) {
18     YamlValidator validator = new YamlValidator();
19     return testValidator(validator, path);
20
21   }
22
23   @Test
24   public void testValidYaml() {
25
26     Map<String, MessageContainer> messages = runValidation(
27         "/openecomp/org/validation/validators/yaml_validator/valid_yaml/input/validHeat.yaml");
28     Assert.assertNotNull(messages);
29     Assert.assertEquals(messages.size(), 0);
30   }
31
32 //  @Test
33   public void testInvalidTabYaml() {
34
35     Map<String, MessageContainer> messages = runValidation(
36         "/openecomp/org/validation/validators/yaml_validator/invalid_valid_yaml_structure/input/invalidYamlTab.yaml");
37     Assert.assertNotNull(messages);
38     Assert.assertEquals(messages.size(), 1);
39     validateErrorMessage(
40         messages.get("invalidYamlTab.yaml").getErrorMessageList().get(0).getMessage(),
41         Messages.INVALID_YAML_FORMAT_REASON.getErrorMessage(),
42         "while scanning for the next tokenfound character '\\t(TAB)' that cannot start any token. (Do not use \\t(TAB) for indentation) in 'reader', line 14, column 5:        \tadmin_state_up: true        ^");
43
44   }
45
46
47   @Test
48   public void testDuplicateKeyInYaml() {
49
50     Map<String, MessageContainer> messages =
51         runValidation("/openecomp/org/validation/validators/yaml_validator/duplicateKey.yaml");
52     Assert.assertNotNull(messages);
53     Assert.assertEquals(messages.size(), 1);
54     Assert.assertTrue(messages.containsKey("duplicateKey.yaml"));
55     validateErrorMessage(
56         messages.get("duplicateKey.yaml").getErrorMessageList().get(0).getMessage(),
57         Messages.INVALID_YAML_FORMAT_REASON.getErrorMessage(),
58         "while parsing MappingNode in 'reader', line 6, column 3:      Key_1_unique:      ^duplicate key: Key_2_not_unique in 'reader', line 31, column 1:        ^");
59   }
60
61
62   @Test
63   public void testInvalidYamlStructure() {
64
65     Map<String, MessageContainer> messages =
66         runValidation("/openecomp/org/validation/validators/yaml_validator/invalidYamlStructure.yaml");
67     Assert.assertNotNull(messages);
68     Assert.assertEquals(messages.size(), 1);
69     Assert.assertTrue(messages.containsKey("invalidYamlStructure.yaml"));
70     validateErrorMessage(
71         messages.get("invalidYamlStructure.yaml").getErrorMessageList().get(0).getMessage(),
72         Messages.INVALID_YAML_FORMAT_REASON.getErrorMessage(),
73         "while parsing a block mapping in 'reader', line 8, column 7:          admin_state_up: true          ^expected <block end>, but found BlockEntry in 'reader', line 10, column 7:          - shared: true          ^");
74   }
75
76   @Test
77   public void testEmptyYaml() {
78
79     Map<String, MessageContainer> messages =
80         runValidation("/openecomp/org/validation/validators/yaml_validator/emptyYaml.yaml");
81     Assert.assertNotNull(messages);
82     Assert.assertEquals(messages.size(), 1);
83     Assert.assertTrue(messages.containsKey("emptyYaml.yaml"));
84     validateErrorMessage(messages.get("emptyYaml.yaml").getErrorMessageList().get(0).getMessage(),
85         Messages.INVALID_YAML_FORMAT_REASON.getErrorMessage(),
86         Messages.EMPTY_YAML_FILE.getErrorMessage());
87   }
88
89 }