summaryrefslogtreecommitdiffstats
path: root/csarvalidation/src/test/java/org
diff options
context:
space:
mode:
authorPawel <pawel.kasperkiewicz@nokia.com>2020-11-12 12:15:55 +0100
committerPawel <pawel.kasperkiewicz@nokia.com>2020-11-24 09:08:06 +0100
commitb6ff67fa1d21765f2f52f3643946c96b2f13aa07 (patch)
treea3c03d814bccabd9de7d16c2da87a0e3a0f7ea08 /csarvalidation/src/test/java/org
parente1be6d1ea065340aaabce761705755970348c6c4 (diff)
Extract pm-dicrionary validation
Issue-ID: VNFSDK-713 Signed-off-by: Pawel <pawel.kasperkiewicz@nokia.com> Change-Id: Iee5a23a3a6c9215927aa2c453faab62d30453444
Diffstat (limited to 'csarvalidation/src/test/java/org')
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/yaml/YamlFileValidatorTest.java117
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/yaml/YamlLoaderTest.java99
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/yaml/YamlLoadingUtils.java94
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/yaml/YamlValidatorTest.java123
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/yaml/model/YamlDocumentFactoryTest.java154
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/yaml/model/YamlParameterListFactoryTest.java81
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/yaml/process/YamlValidationProcessTest.java101
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/yaml/schema/YamlSchemaFactoryTest.java122
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/yaml/schema/node/YamlSchemaNodeFactoryTest.java153
9 files changed, 0 insertions, 1044 deletions
diff --git a/csarvalidation/src/test/java/org/onap/validation/yaml/YamlFileValidatorTest.java b/csarvalidation/src/test/java/org/onap/validation/yaml/YamlFileValidatorTest.java
deleted file mode 100644
index f89cc68..0000000
--- a/csarvalidation/src/test/java/org/onap/validation/yaml/YamlFileValidatorTest.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright 2020 Nokia
- *
- * 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.
- *
- */
-
-package org.onap.validation.yaml;
-
-import org.assertj.core.util.Lists;
-import org.junit.Test;
-import org.onap.validation.yaml.error.YamlDocumentValidationError;
-import org.onap.validation.yaml.exception.YamlProcessingException;
-import org.yaml.snakeyaml.parser.ParserException;
-
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-
-public class YamlFileValidatorTest {
-
- @Test
- public void shouldReturnCorrectErrorsWhenGivenPathToValidPmDictionaryFile() throws YamlProcessingException {
- // given
- String path = getFullPathForGivenResources(YamlLoadingUtils.PATH_TO_VALID_YAML);
-
- // when
- List<YamlDocumentValidationError> validationErrors =
- new YamlFileValidator().validateYamlFileWithSchema(path);
-
- // then
- assertValidationReturnedExpectedErrors(validationErrors);
-
- }
-
- @Test
- public void shouldReturnCorrecErrorsWhenGivenPathToValidJsonStylePmDictionaryFile() throws YamlProcessingException {
- // given
- String path = getFullPathForGivenResources(YamlLoadingUtils.PATH_TO_VALID_JSON_STYLE_YAML);
-
- // when
- List<YamlDocumentValidationError> validationErrors =
- new YamlFileValidator().validateYamlFileWithSchema(path);
-
- // then
- assertValidationReturnedExpectedErrors(validationErrors);
- }
-
-
- private void assertValidationReturnedExpectedErrors(List<YamlDocumentValidationError> validationErrors) {
- assertThat(validationErrors).isNotNull();
- assertThat(validationErrors).hasSize(4);
- assertThat(validationErrors).usingRecursiveFieldByFieldElementComparator().containsAll(
- Lists.list(
- new YamlDocumentValidationError(1,
- "/pmMetaData/pmFields/measResultType",
- "Value(s) is/are not in array of accepted values.\n" +
- " value(s): integer\n" +
- " accepted value(s): [float, uint32, uint64]"),
- new YamlDocumentValidationError(1,
- "/pmMetaData/pmFields/",
- "Key not found: measChangeType"),
- new YamlDocumentValidationError(2,
- "/pmMetaData/pmFields/",
- "Key not found: measChangeType"),
- new YamlDocumentValidationError(3,
- "/pmMetaData/pmFields/measAdditionalFields/vendorField1",
- "Value(s) is/are not in array of accepted values.\n" +
- " value(s): [Z, A]\n" +
- " accepted value(s): [X, Y, Z]")
- )
- );
- }
- @Test
- public void shouldThrowErrorWhenGivenPathToInvalidPmDictionaryFile() {
- // given
- String path = getFullPathForGivenResources(YamlLoadingUtils.PATH_TO_MULTI_DOCUMENT_INVALID_YAML);
- // when then
- assertThatThrownBy(() ->
- new YamlFileValidator().validateYamlFileWithSchema(path)
- ).isInstanceOf(ParserException.class)
- .hasMessageContaining(
- "expected the node content, but found '<document end>'"
- );
- }
-
- @Test
- public void shouldThrowErrorWhenGivenInvalidPath() {
- // given
- String path ="invalid/path/to/pm_dictionary";
-
- // when then
- assertThatThrownBy(() ->
- new YamlFileValidator().validateYamlFileWithSchema(path)
- ).isInstanceOf(YamlProcessingException.class)
- .hasMessageContaining(
- "PM_Dictionary YAML file is empty"
- );
- }
-
- private String getFullPathForGivenResources(String pathToValidYaml) {
- return this.getClass().getClassLoader().getResource(
- pathToValidYaml
- ).getPath();
- }
-}
diff --git a/csarvalidation/src/test/java/org/onap/validation/yaml/YamlLoaderTest.java b/csarvalidation/src/test/java/org/onap/validation/yaml/YamlLoaderTest.java
deleted file mode 100644
index 4c68d60..0000000
--- a/csarvalidation/src/test/java/org/onap/validation/yaml/YamlLoaderTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright 2020 Nokia
- *
- * 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.
- *
- */
-
-package org.onap.validation.yaml;
-
-import org.junit.Test;
-import org.onap.validation.yaml.exception.YamlProcessingException;
-import org.onap.validation.yaml.model.YamlDocument;
-import org.onap.validation.yaml.model.YamlDocumentFactory;
-import org.yaml.snakeyaml.parser.ParserException;
-import org.yaml.snakeyaml.scanner.ScannerException;
-
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-
-
-public class YamlLoaderTest {
-
- private static final int EXPECTED_NUMBER_OF_DOCUMENTS = 5;
- private static final String LETTER_S_WITH_ASCII_CODE = "s(115)";
-
- @Test
- public void shouldLoadAllDocumentsFromYamlFile() throws YamlDocumentFactory.YamlDocumentParsingException {
- // when
- List<YamlDocument> documents = YamlLoadingUtils.loadValidMultiDocumentYamlFile();
-
- // then
- assertThat(documents).hasSize(EXPECTED_NUMBER_OF_DOCUMENTS);
- }
-
- @Test
- public void shouldLoadAllDocumentsFromJsonStyleYamlFile() throws YamlDocumentFactory.YamlDocumentParsingException {
- // when
- List<YamlDocument> documents = YamlLoadingUtils.loadValidJsonStyleMultiDocumentYamlFile();
-
- // then
- assertThat(documents).hasSize(EXPECTED_NUMBER_OF_DOCUMENTS);
- }
-
- @Test
- public void shouldLoadAllDocumentsFromYamlFileUsingPathInString() throws YamlProcessingException {
- // when
- List<YamlDocument> documents = YamlLoadingUtils.loadValidMultiDocumentYamlFileUsingStringPath();
-
- // then
- assertThat(documents).hasSize(EXPECTED_NUMBER_OF_DOCUMENTS);
- }
-
- @Test
- public void shouldThrowExceptionWhenLoadingDocumentsFromInvalidYamlFile() {
- // when then
- assertThatThrownBy(YamlLoadingUtils::tryToLoadMultiDocumentInvalidYamlFile
- ).isInstanceOf(ParserException.class)
- .hasMessageContaining("expected the node content, but found '<document end>'");
- }
-
- @Test
- public void shouldThrowExceptionWhenLoadingDocumentsFromInvalidYamlFileUsingPathInString() {
- // when then
- assertThatThrownBy(YamlLoadingUtils::tryToLoadMultiDocumentInvalidYamlFileUsingStringPath
- ).isInstanceOf(ParserException.class)
- .hasMessageContaining("expected the node content, but found '<document end>'");
- }
-
-
- @Test
- public void shouldThrowExceptionWhenLoadingInvalidYamlFileWithIncorrectKeyMapping() {
- // when then
- assertThatThrownBy(YamlLoadingUtils::tryToLoadInvalidYamlFileWithIncorrectKeyMapping
- ).isInstanceOf(ScannerException.class)
- .hasMessageContaining("mapping values are not allowed here");
- }
-
-
- @Test
- public void shouldThrowExceptionWhenLoadingInvalidYamlFileWithUnknownEscapeCharacter() {
- // when then
- assertThatThrownBy(YamlLoadingUtils::tryToLoadInvalidYamlFileWithUnknownEscapeCharacter
- ).isInstanceOf(ScannerException.class)
- .hasMessageContaining("found unknown escape character " + LETTER_S_WITH_ASCII_CODE);
- }
-
-}
diff --git a/csarvalidation/src/test/java/org/onap/validation/yaml/YamlLoadingUtils.java b/csarvalidation/src/test/java/org/onap/validation/yaml/YamlLoadingUtils.java
deleted file mode 100644
index 8d03910..0000000
--- a/csarvalidation/src/test/java/org/onap/validation/yaml/YamlLoadingUtils.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 2020 Nokia
- *
- * 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.
- *
- */
-
-package org.onap.validation.yaml;
-
-import org.onap.validation.yaml.exception.YamlProcessingException;
-import org.onap.validation.yaml.model.YamlDocument;
-
-import java.net.URL;
-import java.util.List;
-
-import static org.onap.validation.yaml.model.YamlDocumentFactory.YamlDocumentParsingException;
-
-public final class YamlLoadingUtils {
-
- private YamlLoadingUtils() {}
-
- public static final int VALID_YAML_DOCUMENT_INDEX = 4;
- public static final int YAML_DOCUMENT_WITH_WRONG_VALUE_IN_ARRAY_INDEX = 3;
- public static final int YAML_DOCUMENT_WITH_MISSING_FIELD_INDEX = 2;
- public static final int YAML_DOCUMENT_WITH_MISSING_FIELD_AND_WRONG_VALUE_INDEX = 1;
-
- static final String PATH_TO_VALID_YAML = "yaml_schema/PM_Dictionary.yaml";
- static final String PATH_TO_VALID_JSON_STYLE_YAML = "yaml_schema/PM_Dictionary_JSON_Style.yaml";
- private static final String PATH_TO_SIMPLE_VALID_SCHEMA = "yaml_schema/Simple_Valid_Schema.yaml";
- private static final String PATH_TO_SIMPLE_VALID_SCHEMA_MULTI_ROOT = "yaml_schema/Simple_Valid_Schema_Multi_Root.yaml";
- private static final String PATH_TO_SIMPLE_INVALID_SCHEMA = "yaml_schema/Simple_Invalid_Schema_Construction.yaml";
- private static final String PATH_TO_SIMPLE_INVALID_SCHEMA_FOR_LAZY_LOADING = "yaml_schema/Simple_Invalid_Schema_LazyLoading.yaml";
- static final String PATH_TO_MULTI_DOCUMENT_INVALID_YAML = "yaml_schema/Multi_Document_Invalid.yaml";
- private static final String PATH_TO_INVALID_YAML_WITH_INCORRECT_KEY_MAPPING = "yaml_schema/Simple_Invalid_Mapping_Value.yaml";
- private static final String PATH_TO_INVALID_YAML_WITH_UNKNOWN_ESCAPE_CHARACTER = "yaml_schema/Simple_Unknown_Escape_Character.yaml";
-
- public static List<YamlDocument> loadValidMultiDocumentYamlFile() throws YamlDocumentParsingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_VALID_YAML));
- }
-
- public static List<YamlDocument> loadValidJsonStyleMultiDocumentYamlFile() throws YamlDocumentParsingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_VALID_JSON_STYLE_YAML));
- }
-
- public static List<YamlDocument> loadValidMultiDocumentYamlFileUsingStringPath() throws YamlProcessingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_VALID_YAML).getPath());
- }
-
- public static YamlDocument loadSimpleValidYamlSchemaFile() throws YamlDocumentParsingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_SIMPLE_VALID_SCHEMA)).get(0);
- }
-
- public static YamlDocument loadSimpleInvalidYamlSchemaFile() throws YamlDocumentParsingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_SIMPLE_INVALID_SCHEMA)).get(0);
- }
-
- public static YamlDocument loadSimpleInvalidYamlSchemaForLazyLoadingFile() throws YamlDocumentParsingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_SIMPLE_INVALID_SCHEMA_FOR_LAZY_LOADING)).get(0);
- }
-
- public static YamlDocument loadSimpleValidYamlSchemaWithMultiRootFile() throws YamlDocumentParsingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_SIMPLE_VALID_SCHEMA_MULTI_ROOT)).get(0);
- }
-
- public static List<YamlDocument> tryToLoadMultiDocumentInvalidYamlFile() throws YamlDocumentParsingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_MULTI_DOCUMENT_INVALID_YAML));
- }
-
- public static List<YamlDocument> tryToLoadMultiDocumentInvalidYamlFileUsingStringPath() throws YamlProcessingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_MULTI_DOCUMENT_INVALID_YAML).getPath());
- }
-
- public static List<YamlDocument> tryToLoadInvalidYamlFileWithIncorrectKeyMapping() throws YamlDocumentParsingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_INVALID_YAML_WITH_INCORRECT_KEY_MAPPING));
- }
-
- public static List<YamlDocument> tryToLoadInvalidYamlFileWithUnknownEscapeCharacter() throws YamlDocumentParsingException {
- return new YamlLoader().loadMultiDocumentYamlFile(getUrlForGivenPath(PATH_TO_INVALID_YAML_WITH_UNKNOWN_ESCAPE_CHARACTER));
- }
-
- private static URL getUrlForGivenPath(String path) {
- return YamlLoadingUtils.class.getClassLoader().getResource(path);
- }
-}
diff --git a/csarvalidation/src/test/java/org/onap/validation/yaml/YamlValidatorTest.java b/csarvalidation/src/test/java/org/onap/validation/yaml/YamlValidatorTest.java
deleted file mode 100644
index efe9d69..0000000
--- a/csarvalidation/src/test/java/org/onap/validation/yaml/YamlValidatorTest.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 2020 Nokia
- *
- * 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.
- *
- */
-
-package org.onap.validation.yaml;
-
-import org.assertj.core.util.Lists;
-import org.junit.Test;
-import org.onap.validation.yaml.exception.YamlProcessingException;
-import org.onap.validation.yaml.error.SchemaValidationError;
-import org.onap.validation.yaml.model.YamlDocument;
-import org.onap.validation.yaml.schema.YamlSchemaFactory;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.onap.validation.yaml.YamlLoadingUtils.VALID_YAML_DOCUMENT_INDEX;
-import static org.onap.validation.yaml.YamlLoadingUtils.YAML_DOCUMENT_WITH_MISSING_FIELD_INDEX;
-import static org.onap.validation.yaml.YamlLoadingUtils.YAML_DOCUMENT_WITH_MISSING_FIELD_AND_WRONG_VALUE_INDEX;
-import static org.onap.validation.yaml.YamlLoadingUtils.YAML_DOCUMENT_WITH_WRONG_VALUE_IN_ARRAY_INDEX;
-
-public class YamlValidatorTest {
-
-
- @Test
- public void shouldCreateValidatorUsingSchemaLoadedFromYamlFileAndValidatedJsonStyleDocumentsFromThatFile()
- throws YamlProcessingException {
-
- // given
- List<YamlDocument> documents = YamlLoadingUtils.loadValidJsonStyleMultiDocumentYamlFile();
- YamlValidator validator = new YamlValidator(new YamlSchemaFactory().createTreeStructuredYamlSchema(documents.get(0)));
- Map<Integer,List<SchemaValidationError>> validationErrors = new HashMap<>();
-
- // when
- for (int documentIndex = 1 ; documentIndex < documents.size() ; documentIndex++) {
- validationErrors.put(documentIndex, validator.validate(documents.get(documentIndex)));
- }
-
- // then
- assertValidatorReturnedCorrectErrors(validationErrors);
- }
-
- @Test
- public void shouldCreateValidatorUsingSchemaLoadedFromYamlFileAndValidatedDocumentsFromThatFile()
- throws YamlProcessingException {
-
- // given
- List<YamlDocument> documents = YamlLoadingUtils.loadValidMultiDocumentYamlFile();
- YamlValidator validator = new YamlValidator(new YamlSchemaFactory().createTreeStructuredYamlSchema(documents.get(0)));
- Map<Integer,List<SchemaValidationError>> validationErrors = new HashMap<>();
-
- // when
- for (int documentIndex = 1 ; documentIndex < documents.size() ; documentIndex++) {
- validationErrors.put(documentIndex, validator.validate(documents.get(documentIndex)));
- }
-
- // then
- assertValidatorReturnedCorrectErrors(validationErrors);
- }
-
- private void assertValidatorReturnedCorrectErrors(Map<Integer, List<SchemaValidationError>> validationErrors) {
-
- SchemaValidationError expectedValidationValueError =
- new SchemaValidationError(
- "/pmMetaData/pmFields/measResultType",
- "Value(s) is/are not in array of accepted values.\n"
- + " value(s): integer\n"
- + " accepted value(s): [float, uint32, uint64]"
- );
- SchemaValidationError expectedValidationKeyError =
- new SchemaValidationError(
- "/pmMetaData/pmFields/",
- "Key not found: measChangeType"
- );
- SchemaValidationError expectedValidationValuesInArrayError =
- new SchemaValidationError(
- "/pmMetaData/pmFields/measAdditionalFields/vendorField1",
- "Value(s) is/are not in array of accepted values.\n"
- + " value(s): [Z, A]\n"
- + " accepted value(s): [X, Y, Z]"
- );
-
- assertThat(validationErrors.size()).isEqualTo(4);
- assertThat(validationErrors).containsKeys(1,2,3);
- assertThat(validationErrors.get(YAML_DOCUMENT_WITH_MISSING_FIELD_AND_WRONG_VALUE_INDEX)).hasSize(2);
- assertThat(validationErrors.get(YAML_DOCUMENT_WITH_MISSING_FIELD_AND_WRONG_VALUE_INDEX))
- .usingFieldByFieldElementComparator()
- .containsAll(
- Lists.list(
- expectedValidationValueError,
- expectedValidationKeyError
- ));
- assertThat(validationErrors.get(YAML_DOCUMENT_WITH_MISSING_FIELD_INDEX)).hasSize(1);
- assertThat(validationErrors.get(YAML_DOCUMENT_WITH_MISSING_FIELD_INDEX))
- .usingFieldByFieldElementComparator()
- .contains(
- expectedValidationKeyError
- );
- assertThat(validationErrors.get(YAML_DOCUMENT_WITH_WRONG_VALUE_IN_ARRAY_INDEX)).hasSize(1);
- assertThat(validationErrors.get(YAML_DOCUMENT_WITH_WRONG_VALUE_IN_ARRAY_INDEX))
- .usingFieldByFieldElementComparator()
- .contains(
- expectedValidationValuesInArrayError
- );
- assertThat(validationErrors.get(VALID_YAML_DOCUMENT_INDEX)).hasSize(0);
- }
-
-}
diff --git a/csarvalidation/src/test/java/org/onap/validation/yaml/model/YamlDocumentFactoryTest.java b/csarvalidation/src/test/java/org/onap/validation/yaml/model/YamlDocumentFactoryTest.java
deleted file mode 100644
index 7879d4e..0000000
--- a/csarvalidation/src/test/java/org/onap/validation/yaml/model/YamlDocumentFactoryTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright 2020 Nokia
- *
- * 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.
- *
- */
-
-package org.onap.validation.yaml.model;
-
-import org.assertj.core.util.Lists;
-import org.junit.Test;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.onap.validation.yaml.model.YamlDocumentFactory.YamlDocumentParsingException;
-
-public class YamlDocumentFactoryTest {
-
- @Test
- public void shouldTurnMapOfUnknownKeyTypeToMapWithStringKeysAndBeAbleToReturnStringifyValues()
- throws YamlDocumentParsingException {
- // given
- Map<Object, Object> inputMap = new HashMap<>();
- List<String> testList = Lists.list("element1", "element11");
- Map<Object, Object> testEmptyMap = Collections.emptyMap();
-
- inputMap.put("test", testList);
- inputMap.put(345, "element2");
- inputMap.put("test2", "element3");
- inputMap.put(2.67, testEmptyMap);
-
- // when
- YamlDocument document = new YamlDocumentFactory().createYamlDocument(inputMap);
-
- // then
- assertThat(document).isNotNull();
- assertThat(document.getYaml()).containsKeys("test", "345", "test2", "2.67");
-
- assertThat(document.getYaml()).containsEntry("test", testList);
- assertThat(document.getValue("test")).isEqualTo("[element1, element11]");
-
- assertThat(document.getValue("345")).isEqualTo("element2");
- assertThat(document.getValue("test2")).isEqualTo("element3");
-
- assertThat(document.getYaml()).containsEntry("2.67", testEmptyMap);
- assertThat(document.getValue("2.67")).isEqualTo("{}");
- }
-
- @Test
- public void shouldTurnMapOfUnknownKeyTypeToMapWithStringKeysAndBeAbleToExtractSubStructure()
- throws YamlDocumentParsingException {
- // given
- Map<Object, Object> inputMap = new HashMap<>();
- Map<Object, Object> subStructureMap = new HashMap<>();
-
- inputMap.put("test", "element1");
- inputMap.put("structure", subStructureMap);
-
- subStructureMap.put("subTest1", "subElement1");
- subStructureMap.put("subTest2", "subElement2");
-
- // when
- YamlDocument document = new YamlDocumentFactory().createYamlDocument(inputMap);
-
- // then
- assertThat(document).isNotNull();
- assertThat(document.getYaml()).containsKeys("test", "structure");
- assertThat(document.getValue("test")).isEqualTo("element1");
-
- assertThat(document.getSubStructure("structure")).isNotNull();
- assertThat(document.getSubStructure("structure").getValue("subTest1")).isEqualTo("subElement1");
- assertThat(document.getSubStructure("structure").getValue("subTest2")).isEqualTo("subElement2");
- }
-
- @Test
- public void shouldTurnMapOfUnknownKeyTypeToMapWithStringKeysAndBeAbleToExtractParametersList()
- throws YamlDocumentParsingException {
- // given
- Map<Object, Object> inputMap = new HashMap<>();
- List<String> parametersList = new LinkedList<>();
-
- inputMap.put("test", "element1");
- inputMap.put("parameters", parametersList);
-
- parametersList.add("parameter1");
- parametersList.add("parameter2");
-
- // when
- YamlDocument document = new YamlDocumentFactory().createYamlDocument(inputMap);
-
- // then
- assertThat(document).isNotNull();
- assertThat(document.getYaml()).containsKeys("test", "parameters");
- assertThat(document.getValue("test")).isEqualTo("element1");
-
- assertThat(document.getListOfValues("parameters")).isNotNull();
- assertThat(document.getListOfValues("parameters").getParameters()).contains("parameter1","parameter2");
- }
-
- @Test
- public void shouldThrowExceptionIfGetSubStructureIsCalledOnList()
- throws YamlDocumentParsingException {
- // given
- Map<Object, Object> inputMap = new HashMap<>();
- List<String> testList = Lists.list("element1", "element2");
-
- inputMap.put("test", testList);
-
- YamlDocument document = new YamlDocumentFactory().createYamlDocument(inputMap);
-
- // when then
- assertThatThrownBy(() ->
- document.getSubStructure("test")
- ).isInstanceOf(YamlDocumentParsingException.class)
- .hasMessageContaining(
- String.format("Fail to parse given objects: %s as yaml document", testList)
- );
- }
-
- @Test
- public void shouldThrowExceptionIfGetSubStructureIsCalledOnString()
- throws YamlDocumentParsingException {
- // given
- Map<Object, Object> inputMap = new HashMap<>();
-
- inputMap.put("test", "testElement");
-
- YamlDocument document = new YamlDocumentFactory().createYamlDocument(inputMap);
-
- // when then
- assertThatThrownBy(() ->
- document.getSubStructure("test")
- ).isInstanceOf(YamlDocumentParsingException.class)
- .hasMessageContaining(
- String.format("Fail to parse given objects: %s as yaml document.", "testElement")
- );
- }
-}
diff --git a/csarvalidation/src/test/java/org/onap/validation/yaml/model/YamlParameterListFactoryTest.java b/csarvalidation/src/test/java/org/onap/validation/yaml/model/YamlParameterListFactoryTest.java
deleted file mode 100644
index 34e61c5..0000000
--- a/csarvalidation/src/test/java/org/onap/validation/yaml/model/YamlParameterListFactoryTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2020 Nokia
- *
- * 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.
- *
- */
-
-package org.onap.validation.yaml.model;
-
-import org.assertj.core.util.Lists;
-import org.junit.Test;
-
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class YamlParameterListFactoryTest {
-
- @Test
- public void shouldCreateEmptyParametersList() {
- // when
- YamlParametersList parametersList = new YamlParameterListFactory().createEmptyYamlParameterList();
-
- // then
- assertThat(parametersList).isNotNull();
- assertThat(parametersList.getParameters()).isEmpty();
- }
-
- @Test
- public void shouldCreateParametersListContainingStringsFromListContainingSimpleTypes() {
- // given
- List<Object> testList = Lists.list("test1",3,23.45,'a',"test2");
-
- // when
- YamlParametersList parametersList = new YamlParameterListFactory().createYamlParameterList(testList);
-
- // then
- assertThat(parametersList).isNotNull();
- assertThat(parametersList.getParameters()).hasSize(5);
- assertThat(parametersList.getParameters()).contains("test1","test2","3","23.45","a");
- }
-
- @Test
- public void shouldCreateParametersListContainingStringsFromListContainingVariousTypes() {
- // given
- List<Object> testList = Lists.list("test1",3,Lists.list(2,3,4),"test2");
-
- // when
- YamlParametersList parametersList = new YamlParameterListFactory().createYamlParameterList(testList);
-
- // then
- assertThat(parametersList).isNotNull();
- assertThat(parametersList.getParameters()).hasSize(4);
- assertThat(parametersList.getParameters()).contains("test1","test2","3","[2, 3, 4]");
- }
-
- @Test
- public void shouldCreateListWithOneStringWhenGivenObjectIsNotList() {
- // given
- Object testObject = "test";
-
- // when
- YamlParametersList parametersList = new YamlParameterListFactory().createYamlParameterList(testObject);
-
- // then
- assertThat(parametersList).isNotNull();
- assertThat(parametersList.getParameters()).hasSize(1);
- assertThat(parametersList.getParameters()).contains("test");
- }
-
-}
diff --git a/csarvalidation/src/test/java/org/onap/validation/yaml/process/YamlValidationProcessTest.java b/csarvalidation/src/test/java/org/onap/validation/yaml/process/YamlValidationProcessTest.java
deleted file mode 100644
index 12fe9ec..0000000
--- a/csarvalidation/src/test/java/org/onap/validation/yaml/process/YamlValidationProcessTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright 2020 Nokia
- *
- * 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.
- *
- */
-
-package org.onap.validation.yaml.process;
-
-import org.junit.Test;
-import org.onap.validation.yaml.YamlLoadingUtils;
-import org.onap.validation.yaml.exception.YamlProcessingException;
-import org.onap.validation.yaml.error.SchemaValidationError;
-import org.onap.validation.yaml.model.YamlDocument;
-import org.onap.validation.yaml.schema.YamlSchema;
-import org.onap.validation.yaml.schema.YamlSchemaFactory;
-
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.onap.validation.yaml.YamlLoadingUtils.VALID_YAML_DOCUMENT_INDEX;
-import static org.onap.validation.yaml.YamlLoadingUtils.YAML_DOCUMENT_WITH_MISSING_FIELD_INDEX;
-import static org.onap.validation.yaml.YamlLoadingUtils.YAML_DOCUMENT_WITH_MISSING_FIELD_AND_WRONG_VALUE_INDEX;
-
-
-public class YamlValidationProcessTest {
-
- @Test
- public void shouldReturnNoErrorWhenProcessingValidPmDictionaryYaml()
- throws YamlProcessingException {
- // given
- List<YamlDocument> documents = YamlLoadingUtils.loadValidMultiDocumentYamlFile();
- YamlSchema schema = new YamlSchemaFactory().createTreeStructuredYamlSchema(documents.get(0));
- YamlDocument document = documents.get(VALID_YAML_DOCUMENT_INDEX);
-
- // when
- List<SchemaValidationError> errors = new YamlValidationProcess(schema,document).validate();
-
- // then
- assertThat(errors).isEmpty();
- }
-
- @Test
- public void shouldReturnOneErrorWhenProcessingPmDictionaryYamlWithMissingField()
- throws YamlProcessingException {
- // given
- List<YamlDocument> documents = YamlLoadingUtils.loadValidMultiDocumentYamlFile();
- YamlSchema schema = new YamlSchemaFactory().createTreeStructuredYamlSchema(documents.get(0));
- YamlDocument document = documents.get(YAML_DOCUMENT_WITH_MISSING_FIELD_INDEX);
-
- // when
- List<SchemaValidationError> errors = new YamlValidationProcess(schema,document).validate();
-
- // then
- assertThat(errors).hasSize(1);
- }
-
- @Test
- public void shouldReturnTwoErrorsWhenProcessingPmDictionaryYamlWithMissingFieldAndIncorrectValue()
- throws YamlProcessingException {
- // given
- List<YamlDocument> documents = YamlLoadingUtils.loadValidMultiDocumentYamlFile();
- YamlSchema schema = new YamlSchemaFactory().createTreeStructuredYamlSchema(documents.get(0));
- YamlDocument document = documents.get(YAML_DOCUMENT_WITH_MISSING_FIELD_AND_WRONG_VALUE_INDEX);
-
- // when
- List<SchemaValidationError> errors = new YamlValidationProcess(schema,document).validate();
-
- // then
- assertThat(errors).hasSize(2);
- }
-
- @Test
- public void shouldThrowExceptionWhenProcessingPmDictionaryIsNotValidYaml()
- throws YamlProcessingException {
- // given
- List<YamlDocument> documents = YamlLoadingUtils.loadValidMultiDocumentYamlFile();
- YamlDocument schemaInYaml = YamlLoadingUtils.loadSimpleInvalidYamlSchemaForLazyLoadingFile();
- YamlSchema schema = new YamlSchemaFactory().createTreeStructuredYamlSchema(schemaInYaml);
- YamlDocument document = documents.get(VALID_YAML_DOCUMENT_INDEX);
-
- // when then
- assertThatThrownBy(() ->
- new YamlValidationProcess(schema,document).validate()
- ).isInstanceOf(YamlProcessingException.class)
- .hasMessageContaining(
- String.format("Lazy loading failed, due to yaml parsing exception.")
- );
- }
-}
diff --git a/csarvalidation/src/test/java/org/onap/validation/yaml/schema/YamlSchemaFactoryTest.java b/csarvalidation/src/test/java/org/onap/validation/yaml/schema/YamlSchemaFactoryTest.java
deleted file mode 100644
index 4c05d71..0000000
--- a/csarvalidation/src/test/java/org/onap/validation/yaml/schema/YamlSchemaFactoryTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright 2020 Nokia
- *
- * 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.
- *
- */
-
-package org.onap.validation.yaml.schema;
-
-import org.junit.Test;
-import org.onap.validation.yaml.YamlLoadingUtils;
-import org.onap.validation.yaml.exception.YamlProcessingException;
-import org.onap.validation.yaml.model.YamlDocument;
-import org.onap.validation.yaml.schema.node.YamlSchemaNode;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.onap.validation.yaml.model.YamlDocumentFactory.YamlDocumentParsingException;
-import static org.onap.validation.yaml.schema.node.YamlSchemaNodeFactory.EMPTY_COMMENT;
-import static org.onap.validation.yaml.schema.node.YamlSchemaNodeFactoryTest.assertThatBranchNodeIsValid;
-import static org.onap.validation.yaml.schema.node.YamlSchemaNodeFactoryTest.assertThatLeafNodeIsValid;
-
-
-public class YamlSchemaFactoryTest {
-
- @Test
- public void shouldCreateYamlSchemaFromYamlDocumentWithMultipleRoots()
- throws YamlProcessingException {
-
- // given
- YamlDocument documents = YamlLoadingUtils.loadSimpleValidYamlSchemaWithMultiRootFile();
-
- // when
- YamlSchema schema = new YamlSchemaFactory().createTreeStructuredYamlSchema(documents);
-
- // then
- assertThat(schema).isNotNull();
- assertThat(schema.getRootNodes()).hasSize(3);
- assertThat(schema.getRootNodes().get(0).getName()).isEqualTo("root1");
- assertThat(schema.getRootNodes().get(1).getName()).isEqualTo("root2");
- assertThat(schema.getRootNodes().get(2).getName()).isEqualTo("root3");
- }
-
-
- @Test
- public void shouldCreateYamlSchemaFromYamlDocument()
- throws YamlProcessingException {
-
- // given
- YamlDocument documents = YamlLoadingUtils.loadSimpleValidYamlSchemaFile();
-
- // when
- YamlSchema schema = new YamlSchemaFactory().createTreeStructuredYamlSchema(documents);
-
- // then
- assertThat(schema).isNotNull();
- assertThat(schema.getRootNodes()).hasSize(1);
- YamlSchemaNode pmMetaData = schema.getRootNodes().get(0);
- assertThatBranchNodeIsValid(pmMetaData, "pmMetaData","/", true, EMPTY_COMMENT,
- 2);
-
- YamlSchemaNode pmHeader = pmMetaData.getNextNodes().get(1);
- assertThatBranchNodeIsValid(pmHeader, "pmHeader","/pmMetaData/", true, EMPTY_COMMENT,
- 1);
-
- YamlSchemaNode nfType = pmHeader.getNextNodes().get(0);
- assertThatLeafNodeIsValid(nfType, "nfType", "/pmMetaData/pmHeader/", true, "nfType comment");
-
- YamlSchemaNode pmFields = pmMetaData.getNextNodes().get(0);
- assertThatBranchNodeIsValid(pmFields, "pmFields", "/pmMetaData/", true, EMPTY_COMMENT,
- 2);
-
- YamlSchemaNode measChangeType = pmFields.getNextNodes().get(1);
- assertThatLeafNodeIsValid(measChangeType, "measChangeType", "/pmMetaData/pmFields/",
- true, "measChangeType comment",
- "added", "modified", "deleted");
-
- YamlSchemaNode measAdditionalFields = pmFields.getNextNodes().get(0);
- assertThatBranchNodeIsValid(measAdditionalFields, "measAdditionalFields", "/pmMetaData/pmFields/",
- true, "measAdditionalFields comment",
- 2);
-
- YamlSchemaNode vendorField1 = measAdditionalFields.getNextNodes().get(0);
- assertThatLeafNodeIsValid(vendorField1, "vendorField1", "/pmMetaData/pmFields/measAdditionalFields/",
- true, "vendorField1 comment",
- "X", "Y", "Z");
- YamlSchemaNode vendorField2 = measAdditionalFields.getNextNodes().get(1);
- assertThatLeafNodeIsValid(vendorField2, "vendorField2", "/pmMetaData/pmFields/measAdditionalFields/",
- false, "vendorField2 comment",
- "A", "B");
- }
-
- @Test
- public void shouldThrowYamlParsingExceptionWhenLoadedSchemaIsInvalid()
- throws YamlDocumentParsingException {
-
- // given
- YamlDocument documents = YamlLoadingUtils.loadSimpleInvalidYamlSchemaFile();
-
- // when/then
- assertThatThrownBy(() ->
- new YamlSchemaFactory().createTreeStructuredYamlSchema(documents)
- ).isInstanceOf(YamlDocumentParsingException.class)
- .hasMessageContaining(
- String.format(
- "Fail to parse given objects: %s as yaml document",
- documents.getSubStructure("pmMetaData").getYaml().get("structure")
- )
- );
- }
-
-}
diff --git a/csarvalidation/src/test/java/org/onap/validation/yaml/schema/node/YamlSchemaNodeFactoryTest.java b/csarvalidation/src/test/java/org/onap/validation/yaml/schema/node/YamlSchemaNodeFactoryTest.java
deleted file mode 100644
index d35e3b2..0000000
--- a/csarvalidation/src/test/java/org/onap/validation/yaml/schema/node/YamlSchemaNodeFactoryTest.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright 2020 Nokia
- *
- * 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.
- *
- */
-
-package org.onap.validation.yaml.schema.node;
-
-import org.assertj.core.util.Lists;
-import org.junit.Test;
-import org.onap.validation.yaml.YamlLoadingUtils;
-import org.onap.validation.yaml.exception.YamlProcessingException;
-import org.onap.validation.yaml.model.YamlDocument;
-import org.onap.validation.yaml.model.YamlDocumentFactory;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.onap.validation.yaml.schema.node.YamlSchemaNodeFactory.EMPTY_COMMENT;
-
-public class YamlSchemaNodeFactoryTest {
-
- private static final String ROOT_PATH = "/";
-
- @Test
- public void shouldThrowExceptionDuringLazyLoadingWhenLoadedSchemaHaveInvalidSubStructure()
- throws YamlProcessingException {
- // given
- String nodeName = "pmMetaData";
-
- YamlDocument document = YamlLoadingUtils.loadSimpleInvalidYamlSchemaForLazyLoadingFile();
- YamlSchemaNode node = new YamlSchemaNodeFactory()
- .createNode(nodeName, ROOT_PATH, document.getSubStructure(nodeName));
-
- // when/then
- assertThatThrownBy(node::getNextNodes
- ).isInstanceOf(YamlSchemaNode.YamlSchemaProcessingException.class)
- .hasMessageContaining(
- "Lazy loading failed, due to yaml parsing exception."
- );
- }
-
- @Test
- public void shouldCreateLeafNodeIfGivenYamlDocumentHaveNoSubStructure()
- throws YamlProcessingException {
- // given
- String nodeName = "leaf_test";
- String comment = "test leaf node";
- List<String> acceptedValues = Lists.list("val1", "val2");
- Map<Object, Object> nodeInYamlFormat = new HashMap<>();
- nodeInYamlFormat.put(YamlSchemaNodeFactory.PRESENCE_KEY, YamlSchemaNodeFactory.PRESENCE_REQUIRED_KEY);
- nodeInYamlFormat.put(YamlSchemaNodeFactory.COMMENT_KEY, comment);
- nodeInYamlFormat.put(YamlSchemaNodeFactory.VALUE_KET, acceptedValues);
- YamlDocument document = new YamlDocumentFactory().createYamlDocument(
- nodeInYamlFormat
- );
-
- // when
- YamlSchemaNode yamlSchemaNode = new YamlSchemaNodeFactory().createNode(nodeName, ROOT_PATH, document);
-
- // then
- assertThatLeafNodeIsValid(
- yamlSchemaNode, nodeName, ROOT_PATH, true, comment,
- acceptedValues.toArray(new String[acceptedValues.size()])
- );
- }
-
- @Test
- public void shouldCreateBranchNodeIfGivenYamlDocumentHaveSubStructure()
- throws YamlProcessingException {
- // given
- String nodeName = "branch_test";
- String comment = "test branch node";
-
- Map<Object, Object> subStructure = new HashMap<>();
- String subNode1Name = "branch_test_node1";
- String subNode2Name = "branch_test_node2";
- subStructure.put(subNode1Name, new HashMap<>());
- subStructure.put(subNode2Name, new HashMap<>());
-
- Map<Object, Object> nodeInYamlFormat = new HashMap<>();
- nodeInYamlFormat.put(YamlSchemaNodeFactory.PRESENCE_KEY, YamlSchemaNodeFactory.PRESENCE_REQUIRED_KEY);
- nodeInYamlFormat.put(YamlSchemaNodeFactory.COMMENT_KEY, comment);
- nodeInYamlFormat.put(YamlSchemaNodeFactory.STRUCTURE_KEY, subStructure);
- YamlDocument document = new YamlDocumentFactory().createYamlDocument(
- nodeInYamlFormat
- );
-
- // when
- YamlSchemaNode yamlSchemaNode = new YamlSchemaNodeFactory().createNode(nodeName, ROOT_PATH, document);
-
- // then
- assertThatBranchNodeIsValid(
- yamlSchemaNode, nodeName, ROOT_PATH, true, comment, 2);
-
- List<YamlSchemaNode> subNodes = yamlSchemaNode.getNextNodes();
- assertThat(subNodes).hasSize(2);
- assertThatLeafNodeIsValid(
- subNodes.get(1), subNode1Name, ROOT_PATH + nodeName + "/", false, EMPTY_COMMENT);
- assertThatLeafNodeIsValid(
- subNodes.get(0), subNode2Name, ROOT_PATH + nodeName + "/", false, EMPTY_COMMENT);
- }
-
- public static void assertThatBranchNodeIsValid(
- YamlSchemaNode yamlSchemaNode, String name, String path, boolean isRequired, String comment,
- int numberOfSubNodes
- ) throws YamlSchemaNode.YamlSchemaProcessingException {
- assertThatNodeIsValid(yamlSchemaNode, name, path, isRequired, comment);
-
- assertThat(yamlSchemaNode.getClass()).isEqualTo(YamlSchemaBranchNode.class);
- assertThat(yamlSchemaNode.isContainingSubStructure()).isTrue();
- assertThat(yamlSchemaNode.getNextNodes()).hasSize(numberOfSubNodes);
- assertThat(yamlSchemaNode.getAcceptedValues()).isEmpty();
- }
-
- public static void assertThatLeafNodeIsValid(
- YamlSchemaNode yamlSchemaNode, String name, String path, boolean isRequired, String comment,
- String... acceptedValues
- ) throws YamlSchemaNode.YamlSchemaProcessingException {
- assertThatNodeIsValid(yamlSchemaNode, name, path, isRequired, comment);
-
- assertThat(yamlSchemaNode.getClass()).isEqualTo(YamlSchemaLeafNode.class);
- assertThat(yamlSchemaNode.isContainingSubStructure()).isFalse();
- assertThat(yamlSchemaNode.getAcceptedValues()).containsExactly(acceptedValues);
- assertThat(yamlSchemaNode.getNextNodes()).isEmpty();
- }
-
- private static void assertThatNodeIsValid(YamlSchemaNode yamlSchemaNode, String name, String path, boolean isRequired, String comment) {
- assertThat(yamlSchemaNode).isNotNull();
- assertThat(yamlSchemaNode.getName()).isEqualTo(name);
- assertThat(yamlSchemaNode.getPath()).isEqualTo(path);
- if (comment.isEmpty()) {
- assertThat(yamlSchemaNode.getComment()).isNotEmpty();
- } else {
- assertThat(yamlSchemaNode.getComment()).isEqualTo(comment);
- }
- assertThat(yamlSchemaNode.isRequired()).isEqualTo(isRequired);
- }
-}