1 package org.openecomp.sdc.validation.impl.validators.validators;
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;
9 import org.testng.Assert;
10 import org.testng.annotations.Test;
14 public class YamlValidatorTest extends ValidatorBaseTest {
17 public Map<String, MessageContainer> runValidation(String path) {
18 YamlValidator validator = new YamlValidator();
19 return testValidator(validator, path);
24 public void testValidYaml() {
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);
33 public void testInvalidTabYaml() {
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);
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 ^");
48 public void testDuplicateKeyInYaml() {
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"));
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: ^");
63 public void testInvalidYamlStructure() {
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"));
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 ^");
77 public void testEmptyYaml() {
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());