From 10252b81abde9cb2daac9ec2b619c818b2450d8b Mon Sep 17 00:00:00 2001 From: talio Date: Mon, 22 Oct 2018 16:51:53 +0300 Subject: test coverage add unit tests for ResourceBaseValidator Change-Id: Ib81a2f51d935156597eb055028d7e6da6e8d5834 Issue-ID: SDC-1864 Signed-off-by: talio --- .../validation/base/ResourceBaseValidatorTest.java | 81 +++++++++++++++++++++- 1 file changed, 79 insertions(+), 2 deletions(-) (limited to 'openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test') diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/java/org/openecomp/sdc/validation/base/ResourceBaseValidatorTest.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/java/org/openecomp/sdc/validation/base/ResourceBaseValidatorTest.java index e2d685da70..ec39ead030 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/java/org/openecomp/sdc/validation/base/ResourceBaseValidatorTest.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/java/org/openecomp/sdc/validation/base/ResourceBaseValidatorTest.java @@ -1,19 +1,39 @@ +/* + * 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.sdc.validation.base; +import org.apache.commons.collections4.MapUtils; import org.openecomp.core.validation.types.MessageContainer; +import org.openecomp.sdc.datatypes.configuration.ImplementationConfiguration; +import org.openecomp.sdc.validation.type.ConfigConstants; import org.openecomp.sdc.validation.util.ValidationTestUtil; import org.testng.Assert; import org.testng.annotations.Test; +import java.util.Collections; +import java.util.HashMap; import java.util.Map; @Test public class ResourceBaseValidatorTest { - -ResourceBaseValidator resourceBaseValidator=new ResourceBaseValidator(); +private String testValidator = "testValidator"; @Test public void testInvalidResourceType(){ + ResourceBaseValidator resourceBaseValidator = new ResourceBaseValidator(); Map messages = ValidationTestUtil.testValidator( resourceBaseValidator, "/InvalidResourceType"); Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(), @@ -23,6 +43,7 @@ ResourceBaseValidator resourceBaseValidator=new ResourceBaseValidator(); @Test public void testInvalidHeatStructure(){ + ResourceBaseValidator resourceBaseValidator = new ResourceBaseValidator(); Map messages = ValidationTestUtil.testValidator(resourceBaseValidator, "/InvalidHeatStructure"); Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(), @@ -34,4 +55,60 @@ ResourceBaseValidator resourceBaseValidator=new ResourceBaseValidator(); " ^\n" + "]"); } + + @Test + public void testInitWithEmptyPropertiesMap() { + ResourceBaseValidator resourceBaseValidator = new ResourceBaseValidator(); + Map properties = new HashMap<>(); + resourceBaseValidator.init(properties); + + Assert.assertTrue(MapUtils.isEmpty(resourceBaseValidator.getResourceTypeToImpl())); + } + + @Test + public void testInitPropertiesMap() { + ResourceBaseValidator resourceBaseValidator = new ResourceBaseValidator(); + initProperties(resourceBaseValidator, getValidImplementationConfiguration()); + + Map resourceTypeToImpl = + resourceBaseValidator.getResourceTypeToImpl(); + Assert.assertTrue(MapUtils.isNotEmpty(resourceTypeToImpl)); + Assert.assertTrue(resourceTypeToImpl.containsKey(testValidator)); + } + + @Test + public void testInitPropertiesWithString() { + ResourceBaseValidator resourceBaseValidator = new ResourceBaseValidator(); + Map properties = new HashMap<>(); + properties.put(testValidator, "invalidValue"); + + resourceBaseValidator.init(properties); + + Assert.assertTrue(MapUtils.isEmpty(resourceBaseValidator.getResourceTypeToImpl())); + } + + @Test + public void testInitPropertiesWithoutImplClass() { + ResourceBaseValidator resourceBaseValidator = new ResourceBaseValidator(); + initProperties(resourceBaseValidator, new HashMap<>()); + + Assert.assertTrue(MapUtils.isEmpty(resourceBaseValidator.getResourceTypeToImpl())); + } + + public Map getValidImplementationConfiguration() { + Map implConfiguration = new HashMap<>(); + implConfiguration.put( + ConfigConstants.Impl_Class, "org.openecomp.sdc.validation.impl.validators.ForbiddenResourceGuideLineValidator"); + implConfiguration.put(ConfigConstants.Enable, true); + + return implConfiguration; + } + + private void initProperties(ResourceBaseValidator resourceBaseValidator, + Map implementationConfiguration) { + Map properties = + Collections.singletonMap(testValidator, implementationConfiguration); + + resourceBaseValidator.init(properties); + } } -- cgit 1.2.3-korg