summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api
diff options
context:
space:
mode:
authortalio <tali.orenbach@amdocs.com>2018-10-22 11:48:52 +0300
committerVitaly Emporopulo <Vitaliy.Emporopulo@amdocs.com>2018-10-22 13:12:52 +0000
commit4ca48d355779ba778e0b446a676b329f61ce1fa9 (patch)
tree6fcec67ab64f9461a77520e8ec06842efa83ec43 /openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api
parent4a1a59ccde8eff936b7db6ba4736c861dd688d7a (diff)
test coverage
add unit tests for GlobalValidationContext class Change-Id: I39291c4b48684125de3f7d5584fbe62a08b5ea96 Issue-ID: SDC-1860 Signed-off-by: talio <tali.orenbach@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api')
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/pom.xml5
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/test/java/org/openecomp/core/validation/types/GlobalValidationContextTest.java124
2 files changed, 129 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/pom.xml b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/pom.xml
index 35110e0fc5..72208257fa 100644
--- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/pom.xml
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/pom.xml
@@ -46,5 +46,10 @@
<artifactId>openecomp-sdc-logging-api</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/test/java/org/openecomp/core/validation/types/GlobalValidationContextTest.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/test/java/org/openecomp/core/validation/types/GlobalValidationContextTest.java
new file mode 100644
index 0000000000..8f17f0f357
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/test/java/org/openecomp/core/validation/types/GlobalValidationContextTest.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright © 2018 European Support Limited
+ *
+ * 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.openecomp.core.validation.types;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.MapUtils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.openecomp.core.validation.ErrorMessageCode;
+import org.openecomp.sdc.datatypes.error.ErrorLevel;
+import org.openecomp.sdc.datatypes.error.ErrorMessage;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.function.BiPredicate;
+
+public class GlobalValidationContextTest {
+ private static String filename = "testName";
+ private static String yaml1 = "one.yaml";
+ private static String yaml2 = "two.yaml";
+ private static String text1 = "one.txt";
+ private static String content = "testContent";
+ private static String message = "The file is corrupted";
+
+ @Test
+ public void testAddMessageCode() {
+ GlobalValidationContext globalValidationContext = new GlobalValidationContext();
+ ErrorMessageCode error = new ErrorMessageCode("Error");
+ globalValidationContext.setMessageCode(error);
+
+ Assert.assertEquals(error, globalValidationContext.getMessageCode());
+ }
+
+ @Test
+ public void testAddFileContext() {
+ GlobalValidationContext globalValidationContext = new GlobalValidationContext();
+ globalValidationContext.addFileContext(filename, content.getBytes());
+ Map<String, FileValidationContext> fileContextMap = globalValidationContext.getFileContextMap();
+
+ Assert.assertTrue(MapUtils.isNotEmpty(fileContextMap));
+ Assert.assertTrue(fileContextMap.containsKey(filename));
+ }
+
+ @Test
+ public void testGetContextMessageContainers() {
+ GlobalValidationContext globalValidationContext = new GlobalValidationContext();
+ globalValidationContext.addMessage(filename, ErrorLevel.ERROR, message);
+
+ Map<String, MessageContainer> messageContainers =
+ globalValidationContext.getContextMessageContainers();
+
+ testIfFileHasMessageContainer(messageContainers);
+ }
+
+ @Test
+ public void testAddMessage() {
+ GlobalValidationContext globalValidationContext = new GlobalValidationContext();
+ globalValidationContext.addMessage(filename, ErrorLevel.ERROR, message);
+
+ Map<String, MessageContainer> messageContainers =
+ globalValidationContext.getContextMessageContainers();
+
+ testIfFileHasMessageContainer(messageContainers);
+ testIfFileHasErrorMessage(messageContainers, 1);
+ }
+
+ @Test
+ public void testGetFiles() {
+ GlobalValidationContext globalValidationContext = new GlobalValidationContext();
+ byte[] bytes = content.getBytes();
+ globalValidationContext.addFileContext(yaml1, bytes);
+ globalValidationContext.addFileContext(yaml2, bytes);
+ globalValidationContext.addFileContext(text1, bytes);
+
+ testGetFilesByFileType((fileName, globalContext) -> fileName.endsWith(".yaml"),
+ 2, Arrays.asList(yaml1, yaml2), globalValidationContext);
+ testGetFilesByFileType((fileName, globalContext) -> fileName.endsWith(".txt"),
+ 1, Collections.singletonList(text1), globalValidationContext);
+
+
+ }
+
+ private void testGetFilesByFileType(BiPredicate<String, GlobalValidationContext> func,
+ int expectedFilesNumberToFind,
+ List<String> expectedFileNames,
+ GlobalValidationContext globalValidationContext) {
+ Collection<String> files = globalValidationContext.files(func);
+ Assert.assertTrue(CollectionUtils.isNotEmpty(files));
+ Assert.assertEquals(files.size(), expectedFilesNumberToFind);
+ expectedFileNames.forEach(filename -> Assert.assertTrue(files.contains(filename)));
+ }
+
+ private void testIfFileHasMessageContainer(Map<String, MessageContainer> messageContainers) {
+ Assert.assertNotNull(messageContainers);
+ Assert.assertTrue(messageContainers.containsKey(filename));
+ }
+
+ private void testIfFileHasErrorMessage(Map<String, MessageContainer> messageContainers,
+ int expectedErrorsNumber) {
+ MessageContainer messageContainer = messageContainers.get(filename);
+ Assert.assertEquals(messageContainer.getErrorMessageList().size(), expectedErrorsNumber);
+
+ ErrorMessage errorMessage =
+ new ErrorMessage(ErrorLevel.ERROR, ErrorLevel.ERROR.toString() + ": " + message);
+ Assert.assertTrue(messageContainer.getErrorMessageList().contains(errorMessage));
+ }
+}
cy.route('GET', '**/services/*/consumption/*/interfaces/*/operations/*/inputs', '@serviceInputs'); cy.route('POST', '**/services/*/consumption/*', '@updateOperationInput'); const compositionPageUrl = '#!/dashboard/workspace/' + this.metadata.metadata.uniqueId + '/service/composition/details'; cy.visit(compositionPageUrl); // Wait for the canvas to be visible cy.get('canvas-search').should('be.visible'); // Click on the component instance via the testBridge cy.window().its('testBridge').invoke('selectComponentInstance', ['childservice_proxy']); // Click on operation consumption Tab cy.get('.component-details-panel-tabs sdc-tabs ul').children('li[ng-reflect-text="Service Consumption"]').trigger('click', { force: true }); //update operation property value cy.get('.operation-data').trigger('click', { force: true }); cy.get('.operation-input-name').trigger('click', { force: true }); cy.wait(1000); cy.get('.value-input').clear().type('update property'); cy.get('[data-tests-id="Save"]').trigger('click', { force: true }); //check the changed property cy.wait(1000); cy.route('GET', '**/services/*/consumption/*/interfaces/*/operations/*/inputs', '@inputsUpdateValue'); cy.get('.operation-data').trigger('click', { force: true }); cy.wait(1000); cy.get('.operation-input-name').trigger('click', { force: true }); cy.get('.value-input').should('have.value','update property'); }); });