From 4fd3271364741062cfc3b84b79425e93e3e3d864 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Thu, 7 Jan 2021 10:03:30 -0500 Subject: Deprecate old validation annotations Removed @Items and @Entries validation annotations, as they are no longer needed. Issue-ID: POLICY-2648 Change-Id: I68b78738d520ad96175567572e3c2f4a845dae44 Signed-off-by: Jim Hahn --- .../common/parameters/TestBeanValidator.java | 6 +- .../common/parameters/TestEntryValidator.java | 108 ------------------ .../common/parameters/TestItem2Validator.java | 121 --------------------- .../common/parameters/TestItemValidator.java | 68 +++--------- 4 files changed, 16 insertions(+), 287 deletions(-) delete mode 100644 common-parameters/src/test/java/org/onap/policy/common/parameters/TestEntryValidator.java delete mode 100644 common-parameters/src/test/java/org/onap/policy/common/parameters/TestItem2Validator.java (limited to 'common-parameters/src/test/java/org') diff --git a/common-parameters/src/test/java/org/onap/policy/common/parameters/TestBeanValidator.java b/common-parameters/src/test/java/org/onap/policy/common/parameters/TestBeanValidator.java index 00ed972c..1095ff40 100644 --- a/common-parameters/src/test/java/org/onap/policy/common/parameters/TestBeanValidator.java +++ b/common-parameters/src/test/java/org/onap/policy/common/parameters/TestBeanValidator.java @@ -31,7 +31,6 @@ import java.util.function.Consumer; import lombok.Getter; import org.junit.Before; import org.junit.Test; -import org.onap.policy.common.parameters.annotations.Items; import org.onap.policy.common.parameters.annotations.Max; import org.onap.policy.common.parameters.annotations.Min; import org.onap.policy.common.parameters.annotations.NotBlank; @@ -453,11 +452,10 @@ public class TestBeanValidator { public void testVerCollection() { @Getter class Container { - @Items(min = @Min(5)) - List items; + List<@Min(5) Integer> items; // not a collection - should not be checked - @Items(valid = {@Valid}) + @Valid String strValue; String noAnnotations; diff --git a/common-parameters/src/test/java/org/onap/policy/common/parameters/TestEntryValidator.java b/common-parameters/src/test/java/org/onap/policy/common/parameters/TestEntryValidator.java deleted file mode 100644 index 1c93d6c8..00000000 --- a/common-parameters/src/test/java/org/onap/policy/common/parameters/TestEntryValidator.java +++ /dev/null @@ -1,108 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - * ================================================================================ - * Copyright (C) 2021 AT&T Intellectual Property. 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.onap.policy.common.parameters; - -import static org.assertj.core.api.Assertions.assertThat; - -import java.util.HashMap; -import java.util.Map; -import org.junit.Before; -import org.junit.Test; -import org.onap.policy.common.parameters.annotations.Items; -import org.onap.policy.common.parameters.annotations.Min; -import org.onap.policy.common.parameters.annotations.NotBlank; - -public class TestEntryValidator extends ValidatorUtil { - - // annotations for keys and values - - @Items() - private int emptyAnnot; - - @Items(notBlank = {@NotBlank}) - private int keyAnnot; - - @Items(min = {@Min(5)}) - private int valueAnnot; - - - @Before - public void setUp() { - bean = new BeanValidator(); - } - - @Test - public void testIsEmpty() { - // no annotations for key or value - assertThat(new EntryValidator(bean, getAnnot("emptyAnnot"), getAnnot("emptyAnnot")).isEmpty()).isTrue(); - - // annotations for key, value, or both - assertThat(new EntryValidator(bean, getAnnot("keyAnnot"), getAnnot("emptyAnnot")).isEmpty()).isFalse(); - assertThat(new EntryValidator(bean, getAnnot("emptyAnnot"), getAnnot("valueAnnot")).isEmpty()).isFalse(); - assertThat(new EntryValidator(bean, getAnnot("keyAnnot"), getAnnot("valueAnnot")).isEmpty()).isFalse(); - } - - @Test - public void testValidateEntry() { - EntryValidator validator = new EntryValidator(bean, getAnnot("keyAnnot"), getAnnot("valueAnnot")); - - // valid key & value - BeanValidationResult result = new BeanValidationResult(MY_NAME, this); - validator.validateEntry(result, makeEntry(HELLO, 10)); - assertThat(result.getResult()).isNull(); - - // invalid key - result = new BeanValidationResult(MY_NAME, this); - validator.validateEntry(result, makeEntry("", 20)); - assertThat(result.getResult()).doesNotContain("\"value\"").contains("\"key\"", "blank"); - - // invalid value - result = new BeanValidationResult(MY_NAME, this); - validator.validateEntry(result, makeEntry(HELLO, -10)); - assertThat(result.getResult()).contains(HELLO, "\"value\"", "-10").doesNotContain("\"key\""); - - // both invalid - result = new BeanValidationResult(MY_NAME, this); - validator.validateEntry(result, makeEntry("", -100)); - assertThat(result.getResult()).contains("\"key\"", "blank", "\"value\"", "-100"); - } - - @Test - public void testGetName() { - EntryValidator validator = new EntryValidator(bean, getAnnot("emptyAnnot"), getAnnot("emptyAnnot")); - assertThat(validator.getName(makeEntry(null, 0))).isEmpty(); - assertThat(validator.getName(makeEntry("", 0))).isEmpty(); - assertThat(validator.getName(makeEntry(HELLO, 0))).isEqualTo(HELLO); - } - - /** - * Makes a Map entry with the given key and value. - * - * @param key desired key - * @param value desired value - * @return a new Map entry - */ - Map.Entry makeEntry(String key, int value) { - HashMap map = new HashMap<>(); - map.put(key, value); - return map.entrySet().iterator().next(); - } -} diff --git a/common-parameters/src/test/java/org/onap/policy/common/parameters/TestItem2Validator.java b/common-parameters/src/test/java/org/onap/policy/common/parameters/TestItem2Validator.java deleted file mode 100644 index f8d38642..00000000 --- a/common-parameters/src/test/java/org/onap/policy/common/parameters/TestItem2Validator.java +++ /dev/null @@ -1,121 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - * ================================================================================ - * Copyright (C) 2021 AT&T Intellectual Property. 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.onap.policy.common.parameters; - -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.RetentionPolicy.RUNTIME; -import static org.assertj.core.api.Assertions.assertThat; - -import java.lang.annotation.Retention; -import java.lang.annotation.Target; -import org.junit.Before; -import org.junit.Test; -import org.onap.policy.common.parameters.annotations.Min; -import org.onap.policy.common.parameters.annotations.NotBlank; -import org.onap.policy.common.parameters.annotations.NotNull; - -public class TestItem2Validator extends ValidatorUtil { - - // annotated fields - each field must have exactly one annotation - - /** - * This annotation does not contain a method returning an array. - */ - @Min(value = 0) - private int notArray; - - /** - * This annotation doesn't contain any annotations that the {@link BeanValidator} - * recognizes. - */ - @Simple - private int mismatch; - - /** - * No annotations. - */ - @SuppressWarnings("unused") - private int noAnnotations; - - /** - * One matching annotation. - */ - @NotNull - private int match; - - /** - * Multiple matching annotations. - */ - @NotNull - @NotBlank - private String multiMatch; - - - @Before - public void setUp() { - bean = new BeanValidator(); - } - - @Test - public void testGetAnnotation() { - // no matches - assertThat(new Item2Validator(bean, getAnnotType("noAnnotations"), true).isEmpty()).isTrue(); - - // had a match - assertThat(new Item2Validator(bean, getAnnotType("match"), true).checkers).hasSize(1); - - // multiple matches - Item2Validator validator = new Item2Validator(bean, getAnnotType("multiMatch"), true); - assertThat(validator.checkers).hasSize(2); - - BeanValidationResult result = new BeanValidationResult(MY_NAME, this); - validator.validateValue(result, MY_FIELD, HELLO); - assertThat(result.getResult()).isNull(); - - result = new BeanValidationResult(MY_NAME, this); - validator.validateValue(result, MY_FIELD, null); - assertThat(result.getResult()).isNotNull(); - - result = new BeanValidationResult(MY_NAME, this); - validator.validateValue(result, MY_FIELD, ""); - assertThat(result.getResult()).isNotNull(); - } - - @Test - public void testItem2ValidatorBeanValidatorAnnotation() { - assertThat(new Item2Validator(bean, getAnnotType("match")).isEmpty()).isFalse(); - } - - @Test - public void testItem2ValidatorBeanValidatorAnnotationBoolean() { - assertThat(new Item2Validator(bean, getAnnotType("match"), true).isEmpty()).isFalse(); - - assertThat(new Item2Validator(bean, getAnnotType("match"), false).isEmpty()).isTrue(); - } - - // these annotations are not recognized by the BeanValidator - - @Retention(RUNTIME) - @Target(FIELD) - public @interface Simple { - - } -} diff --git a/common-parameters/src/test/java/org/onap/policy/common/parameters/TestItemValidator.java b/common-parameters/src/test/java/org/onap/policy/common/parameters/TestItemValidator.java index 2a0394dc..cadcfdee 100644 --- a/common-parameters/src/test/java/org/onap/policy/common/parameters/TestItemValidator.java +++ b/common-parameters/src/test/java/org/onap/policy/common/parameters/TestItemValidator.java @@ -23,15 +23,11 @@ package org.onap.policy.common.parameters; import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.RetentionPolicy.RUNTIME; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import java.lang.annotation.Annotation; import java.lang.annotation.Retention; import java.lang.annotation.Target; -import java.lang.reflect.Method; import org.junit.Before; import org.junit.Test; -import org.onap.policy.common.parameters.annotations.Items; import org.onap.policy.common.parameters.annotations.Min; import org.onap.policy.common.parameters.annotations.NotBlank; import org.onap.policy.common.parameters.annotations.NotNull; @@ -50,31 +46,26 @@ public class TestItemValidator extends ValidatorUtil { * This annotation doesn't contain any annotations that the {@link BeanValidator} * recognizes. */ - @SimpleItems(simple = {@Simple}) + @Simple private int mismatch; /** - * Annotation with no sub-annotations. + * No annotations. */ - @Items() + @SuppressWarnings("unused") private int noAnnotations; /** - * One matching sub-annotation. + * One matching annotation. */ - @Items(notNull = {@NotNull}) + @NotNull private int match; - /** - * Excess matching sub-annotations of a single type. - */ - @Items(notNull = {@NotNull, @NotNull}) - private int excess; - /** * Multiple matching annotations. */ - @Items(notNull = {@NotNull}, notBlank = {@NotBlank}) + @NotNull + @NotBlank private String multiMatch; @@ -86,24 +77,14 @@ public class TestItemValidator extends ValidatorUtil { @Test public void testGetAnnotation() { // no matches - assertThat(new ItemValidator(bean, getAnnot("noAnnotations"), true).isEmpty()).isTrue(); + assertThat(new ItemValidator(bean, getAnnotType("noAnnotations"), true).isEmpty()).isTrue(); // had a match - assertThat(new ItemValidator(bean, getAnnot("match"), true).isEmpty()).isFalse(); - - // with an exception - IllegalAccessException ex = new IllegalAccessException("expected exception"); - - assertThatThrownBy(() -> new ItemValidator(bean, getAnnot("match"), true) { - @Override - protected T getAnnotation2(Class annotClass, Method method) - throws IllegalAccessException { - throw ex; - } - }).hasCause(ex); + assertThat(new ItemValidator(bean, getAnnotType("match"), true).checkers).hasSize(1); // multiple matches - ItemValidator validator = new ItemValidator(bean, getAnnot("multiMatch"), true); + ItemValidator validator = new ItemValidator(bean, getAnnotType("multiMatch"), true); + assertThat(validator.checkers).hasSize(2); BeanValidationResult result = new BeanValidationResult(MY_NAME, this); validator.validateValue(result, MY_FIELD, HELLO); @@ -120,26 +101,14 @@ public class TestItemValidator extends ValidatorUtil { @Test public void testItemValidatorBeanValidatorAnnotation() { - assertThat(new ItemValidator(bean, getAnnot("match")).isEmpty()).isFalse(); + assertThat(new ItemValidator(bean, getAnnotType("match")).isEmpty()).isFalse(); } @Test public void testItemValidatorBeanValidatorAnnotationBoolean() { - assertThat(new ItemValidator(bean, getAnnot("match"), true).isEmpty()).isFalse(); - - assertThat(new ItemValidator(bean, getAnnot("match"), false).isEmpty()).isTrue(); - } + assertThat(new ItemValidator(bean, getAnnotType("match"), true).isEmpty()).isFalse(); - @Test - public void testGetAnnotation2() { - assertThat(new ItemValidator(bean, getAnnot("notArray"), true).isEmpty()).isTrue(); - assertThat(new ItemValidator(bean, getAnnot("mismatch"), true).isEmpty()).isTrue(); - assertThat(new ItemValidator(bean, getAnnot("noAnnotations"), true).isEmpty()).isTrue(); - - assertThat(new ItemValidator(bean, getAnnot("match"), true).isEmpty()).isFalse(); - - Annotation excess = getAnnot("excess"); - assertThatThrownBy(() -> new ItemValidator(bean, excess, true)).isInstanceOf(IllegalArgumentException.class); + assertThat(new ItemValidator(bean, getAnnotType("match"), false).isEmpty()).isTrue(); } // these annotations are not recognized by the BeanValidator @@ -149,13 +118,4 @@ public class TestItemValidator extends ValidatorUtil { public @interface Simple { } - - @Retention(RUNTIME) - @Target(FIELD) - public @interface SimpleItems { - /** - * Validates that it's simple. - */ - Simple[] simple() default {}; - } } -- cgit 1.2.3-korg