From d7d87dc3a647e924bcf0e05e60c18f70cba3ed7b Mon Sep 17 00:00:00 2001 From: Piotr Borelowski Date: Tue, 18 Jun 2019 16:08:08 +0200 Subject: Added unit tests for AbstractPropertyConstraint Improved the unit test coverage in the package org.openecomp.sdc.be.model.tosca.constraints Issue-ID: SDC-2327 Signed-off-by: Piotr Borelowski Signed-off-by: Krystian Kedron Change-Id: I094ab463cc010ecd48e062a1a806b3b907223228 --- .../openecomp/sdc/be/model/tosca/ToscaType.java | 2 +- .../AbstractPropertyConstraintTest.java | 113 +++++++++++++++++++++ 2 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 catalog-model/src/test/java/org/openecomp/sdc/be/model/tosca/constraints/AbstractPropertyConstraintTest.java diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/tosca/ToscaType.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/tosca/ToscaType.java index 04b6874f93..da1b3c4ce8 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/tosca/ToscaType.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/tosca/ToscaType.java @@ -163,7 +163,7 @@ public enum ToscaType { case BOOLEAN: return Boolean.valueOf(value); case FLOAT: - return Double.valueOf(value); + return Float.valueOf(value); case INTEGER: return Long.valueOf(value); case TIMESTAMP: diff --git a/catalog-model/src/test/java/org/openecomp/sdc/be/model/tosca/constraints/AbstractPropertyConstraintTest.java b/catalog-model/src/test/java/org/openecomp/sdc/be/model/tosca/constraints/AbstractPropertyConstraintTest.java new file mode 100644 index 0000000000..82d039439a --- /dev/null +++ b/catalog-model/src/test/java/org/openecomp/sdc/be/model/tosca/constraints/AbstractPropertyConstraintTest.java @@ -0,0 +1,113 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP SDC + * ================================================================================ + * Copyright (C) 2019 Samsung. All rights reserved. + * ================================================================================ + * 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. + * ============LICENSE_END============================================ + * =================================================================== + */ + +package org.openecomp.sdc.be.model.tosca.constraints; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.openecomp.sdc.be.model.tosca.ToscaType; +import org.openecomp.sdc.be.model.tosca.constraints.exception.ConstraintFunctionalException; +import org.openecomp.sdc.be.model.tosca.constraints.exception.ConstraintViolationException; +import org.openecomp.sdc.be.model.tosca.version.Version; + +public class AbstractPropertyConstraintTest { + + private final TestPropertyConstraint constraint = new TestPropertyConstraint(); + + @Test + public void testValidateBoolean() throws ConstraintViolationException { + // given + final String value = "faLsE"; + + // when + constraint.validate(ToscaType.BOOLEAN, value); + + // then + assertEquals(Boolean.valueOf(value), constraint.last); + } + + @Test + public void testValidateFloat() throws ConstraintViolationException { + // given + final String value = "123.456"; + + // when + constraint.validate(ToscaType.FLOAT, value); + + // then + assertEquals(Float.valueOf(value), constraint.last); + } + + @Test + public void testValidateVersion() throws ConstraintViolationException { + // given + final String value = "12.34.1002-Release7"; + + // when + constraint.validate(ToscaType.VERSION, value); + + // then + assertEquals(new Version(value), constraint.last); + } + + @Test + public void testGetErrorMessageIsInstanceOf() { + // given + final ConstraintFunctionalException exception = new ConstraintViolationException("exc"); + + // when + final String message = constraint.getErrorMessage(ToscaType.SCALAR_UNIT, exception, + "area", "Message: %s --> %s", "prop1", "prop2"); + + // then + assertEquals("Message: area --> [prop1, prop2]", message); + } + + @Test + public void testGetErrorMessageOtherType() { + // given + final ConstraintFunctionalException exception = new ConstraintFunctionalException("exc"); + + // when + final String message = constraint.getErrorMessage(ToscaType.SCALAR_UNIT_FREQUENCY, exception, + "freq", null); + + // then + assertEquals("Unsupported value provided for freq property supported value type is scalar-unit.frequency.", + message); + } +} + +class TestPropertyConstraint extends AbstractPropertyConstraint { + + Object last; + + @Override + public void validate(Object propertyValue) { + last = propertyValue; + } + + @Override + public String getErrorMessage(ToscaType toscaType, ConstraintFunctionalException exception, String propertyName) { + return null; + } +} -- cgit 1.2.3-korg