aboutsummaryrefslogtreecommitdiffstats
path: root/common-parameters/src/test/java
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2021-01-07 10:03:30 -0500
committerJim Hahn <jrh3@att.com>2021-01-07 10:04:58 -0500
commit4fd3271364741062cfc3b84b79425e93e3e3d864 (patch)
tree840208d1507269767b51e1b63c92f7e2a629a418 /common-parameters/src/test/java
parent8208cc4b1d8855eee3fe59c7a832abccb2a67ed7 (diff)
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 <jrh3@att.com>
Diffstat (limited to 'common-parameters/src/test/java')
-rw-r--r--common-parameters/src/test/java/org/onap/policy/common/parameters/TestBeanValidator.java6
-rw-r--r--common-parameters/src/test/java/org/onap/policy/common/parameters/TestEntryValidator.java108
-rw-r--r--common-parameters/src/test/java/org/onap/policy/common/parameters/TestItem2Validator.java121
-rw-r--r--common-parameters/src/test/java/org/onap/policy/common/parameters/TestItemValidator.java68
4 files changed, 16 insertions, 287 deletions
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<Integer> 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<String, Integer> makeEntry(String key, int value) {
- HashMap<String, Integer> 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 extends Annotation> T getAnnotation2(Class<T> 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 {};
- }
}