diff options
Diffstat (limited to 'utils/src/test/java/org/onap/policy/common/utils/properties/exception')
6 files changed, 447 insertions, 0 deletions
diff --git a/utils/src/test/java/org/onap/policy/common/utils/properties/exception/BasicPropertyExceptionTester.java b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/BasicPropertyExceptionTester.java new file mode 100644 index 00000000..1e5fcfcd --- /dev/null +++ b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/BasicPropertyExceptionTester.java @@ -0,0 +1,130 @@ +/* + * ============LICENSE_START======================================================= + * ONAP Policy Engine - Common Modules + * ================================================================================ + * Copyright (C) 2018 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.utils.properties.exception; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; +import org.hamcrest.CoreMatchers; + +/** + * Superclass used to test subclasses of {@link PropertyException}. + */ +public class BasicPropertyExceptionTester { + + /** + * The "message" that's passed each time an exception is constructed. + */ + protected static final String MESSAGE = "some error"; + + /** + * The "throwable" that's passed each time an exception is constructed. + */ + protected static final Throwable THROWABLE = new Throwable(); + + /** + * Name of the "property" to be passed each time an exception is constructed. + */ + protected static final String PROPERTY = "myName"; + + /** + * Name of the "property" field. + */ + protected static final String FIELD = "PROPERTY"; + + /* + * Methods to perform various tests on the except subclass. + */ + + protected void doTestPropertyExceptionStringField_AllPopulated(PropertyException ex) { + standardTests(ex); + } + + protected void doTestPropertyExceptionStringField_NullProperty(PropertyException ex) { + assertEquals(null, ex.getPropertyName()); + assertEquals(FIELD, ex.getFieldName()); + assertNotNull(ex.getMessage()); + assertNotNull(ex.toString()); + } + + protected void doTestPropertyExceptionStringField_NullField(PropertyException ex) { + assertEquals(PROPERTY, ex.getPropertyName()); + assertEquals(null, ex.getFieldName()); + assertNotNull(ex.getMessage()); + assertNotNull(ex.toString()); + } + + protected void doTestPropertyExceptionStringField_BothNull(PropertyException ex) { + assertEquals(null, ex.getPropertyName()); + assertEquals(null, ex.getFieldName()); + assertNotNull(ex.getMessage()); + assertNotNull(ex.toString()); + } + + protected void doTestPropertyExceptionStringFieldString(PropertyException ex) { + standardTests(ex); + standardMessageTests(ex); + } + + protected void doTestPropertyExceptionStringFieldThrowable(PropertyException ex) { + standardTests(ex); + standardThrowableTests(ex); + } + + protected void doTestPropertyExceptionStringFieldStringThrowable(PropertyException ex) { + standardTests(ex); + standardMessageTests(ex); + standardThrowableTests(ex); + } + + /** + * Performs standard tests that should apply to all subclasses. + * + * @param ex exception to test + */ + protected void standardTests(PropertyException ex) { + assertEquals(PROPERTY, ex.getPropertyName()); + assertEquals(FIELD, ex.getFieldName()); + assertNotNull(ex.getMessage()); + assertNotNull(ex.toString()); + } + + /** + * Performs standard tests for exceptions that were provided a message in their + * constructor. + * + * @param ex exception to test + */ + protected void standardMessageTests(PropertyException ex) { + assertThat(ex.getMessage(), CoreMatchers.endsWith(MESSAGE)); + } + + /** + * Performs standard tests for exceptions that were provided a throwable in their + * constructor. + * + * @param ex exception to test + */ + protected void standardThrowableTests(PropertyException ex) { + assertEquals(THROWABLE, ex.getCause()); + } + +} diff --git a/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyAccessExceptionTest.java b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyAccessExceptionTest.java new file mode 100644 index 00000000..304df9df --- /dev/null +++ b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyAccessExceptionTest.java @@ -0,0 +1,66 @@ +/* + * ============LICENSE_START======================================================= + * ONAP Policy Engine - Common Modules + * ================================================================================ + * Copyright (C) 2018 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.utils.properties.exception; + +import org.junit.Test; + +/** + * + */ +public class PropertyAccessExceptionTest extends BasicPropertyExceptionTester { + + /** + * Test method for {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException(java.lang.String, java.lang.String)}. + */ + @Test + public void testPropertyAccessExceptionStringField() { + doTestPropertyExceptionStringField_AllPopulated( new PropertyAccessException(PROPERTY, FIELD)); + doTestPropertyExceptionStringField_NullProperty( new PropertyAccessException(null, FIELD)); + doTestPropertyExceptionStringField_NullField( new PropertyAccessException(PROPERTY, null)); + doTestPropertyExceptionStringField_BothNull( new PropertyAccessException(null, null)); + } + + /** + * Test method for {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException(java.lang.String, java.lang.String, java.lang.String)}. + */ + @Test + public void testPropertyAccessExceptionStringFieldString() { + doTestPropertyExceptionStringFieldString(new PropertyAccessException(PROPERTY, FIELD, MESSAGE)); + } + + /** + * Test method for {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException(java.lang.String, java.lang.String, java.lang.Throwable)}. + */ + @Test + public void testPropertyAccessExceptionStringFieldThrowable() { + doTestPropertyExceptionStringFieldThrowable(new PropertyAccessException(PROPERTY, FIELD, THROWABLE)); + } + + /** + * Test method for {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException(java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}. + */ + @Test + public void testPropertyAccessExceptionStringFieldStringThrowable() { + doTestPropertyExceptionStringFieldStringThrowable( + new PropertyAccessException(PROPERTY, FIELD, MESSAGE, THROWABLE)); + } + +} diff --git a/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyAnnotationExceptionTest.java b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyAnnotationExceptionTest.java new file mode 100644 index 00000000..2c033084 --- /dev/null +++ b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyAnnotationExceptionTest.java @@ -0,0 +1,70 @@ +/* + * ============LICENSE_START======================================================= + * ONAP Policy Engine - Common Modules + * ================================================================================ + * Copyright (C) 2018 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.utils.properties.exception; + +import org.junit.Test; + +/** + * + */ +public class PropertyAnnotationExceptionTest extends BasicPropertyExceptionTester { + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String)}. + */ + @Test + public void testPropertyExceptionStringField() { + doTestPropertyExceptionStringField_AllPopulated(new PropertyAnnotationException(PROPERTY, FIELD)); + doTestPropertyExceptionStringField_NullProperty(new PropertyAnnotationException(null, FIELD)); + doTestPropertyExceptionStringField_NullField(new PropertyAnnotationException(PROPERTY, null)); + doTestPropertyExceptionStringField_BothNull(new PropertyAnnotationException(null, null)); + } + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String)}. + */ + @Test + public void testPropertyExceptionStringFieldString() { + doTestPropertyExceptionStringFieldString(new PropertyAnnotationException(PROPERTY, FIELD, MESSAGE)); + } + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.Throwable)}. + */ + @Test + public void testPropertyExceptionStringFieldThrowable() { + doTestPropertyExceptionStringFieldThrowable(new PropertyAnnotationException(PROPERTY, FIELD, THROWABLE)); + } + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}. + */ + @Test + public void testPropertyExceptionStringFieldStringThrowable() { + doTestPropertyExceptionStringFieldStringThrowable( + new PropertyAnnotationException(PROPERTY, FIELD, MESSAGE, THROWABLE)); + } + +} diff --git a/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyExceptionTest.java b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyExceptionTest.java new file mode 100644 index 00000000..18186ba2 --- /dev/null +++ b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyExceptionTest.java @@ -0,0 +1,69 @@ +/* + * ============LICENSE_START======================================================= + * ONAP Policy Engine - Common Modules + * ================================================================================ + * Copyright (C) 2018 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.utils.properties.exception; + +import org.junit.Test; + +/** + * + */ +public class PropertyExceptionTest extends BasicPropertyExceptionTester { + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String)}. + */ + @Test + public void testPropertyExceptionStringField() { + doTestPropertyExceptionStringField_AllPopulated(new PropertyException(PROPERTY, FIELD)); + doTestPropertyExceptionStringField_NullProperty(new PropertyException(null, FIELD)); + doTestPropertyExceptionStringField_NullField(new PropertyException(PROPERTY, null)); + doTestPropertyExceptionStringField_BothNull(new PropertyException(null, null)); + } + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String)}. + */ + @Test + public void testPropertyExceptionStringFieldString() { + doTestPropertyExceptionStringFieldString(new PropertyException(PROPERTY, FIELD, MESSAGE)); + } + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.Throwable)}. + */ + @Test + public void testPropertyExceptionStringFieldThrowable() { + doTestPropertyExceptionStringFieldThrowable(new PropertyException(PROPERTY, FIELD, THROWABLE)); + } + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}. + */ + @Test + public void testPropertyExceptionStringFieldStringThrowable() { + doTestPropertyExceptionStringFieldStringThrowable(new PropertyException(PROPERTY, FIELD, MESSAGE, THROWABLE)); + } + +} diff --git a/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyInvalidExceptionTest.java b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyInvalidExceptionTest.java new file mode 100644 index 00000000..f83b7ed3 --- /dev/null +++ b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyInvalidExceptionTest.java @@ -0,0 +1,70 @@ +/* + * ============LICENSE_START======================================================= + * ONAP Policy Engine - Common Modules + * ================================================================================ + * Copyright (C) 2018 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.utils.properties.exception; + +import org.junit.Test; + +/** + * + */ +public class PropertyInvalidExceptionTest extends BasicPropertyExceptionTester { + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String)}. + */ + @Test + public void testPropertyExceptionStringField() { + doTestPropertyExceptionStringField_AllPopulated(new PropertyInvalidException(PROPERTY, FIELD)); + doTestPropertyExceptionStringField_NullProperty(new PropertyInvalidException(null, FIELD)); + doTestPropertyExceptionStringField_NullField(new PropertyInvalidException(PROPERTY, null)); + doTestPropertyExceptionStringField_BothNull(new PropertyInvalidException(null, null)); + } + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String)}. + */ + @Test + public void testPropertyExceptionStringFieldString() { + doTestPropertyExceptionStringFieldString(new PropertyInvalidException(PROPERTY, FIELD, MESSAGE)); + } + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.Throwable)}. + */ + @Test + public void testPropertyExceptionStringFieldThrowable() { + doTestPropertyExceptionStringFieldThrowable(new PropertyInvalidException(PROPERTY, FIELD, THROWABLE)); + } + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}. + */ + @Test + public void testPropertyExceptionStringFieldStringThrowable() { + doTestPropertyExceptionStringFieldStringThrowable( + new PropertyInvalidException(PROPERTY, FIELD, MESSAGE, THROWABLE)); + } + +} diff --git a/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyMissingExceptionTest.java b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyMissingExceptionTest.java new file mode 100644 index 00000000..f99ddd93 --- /dev/null +++ b/utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyMissingExceptionTest.java @@ -0,0 +1,42 @@ +/* + * ============LICENSE_START======================================================= + * ONAP Policy Engine - Common Modules + * ================================================================================ + * Copyright (C) 2018 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.utils.properties.exception; + +import org.junit.Test; + +/** + * + */ +public class PropertyMissingExceptionTest extends BasicPropertyExceptionTester { + + /** + * Test method for + * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String)}. + */ + @Test + public void testPropertyExceptionStringField() { + doTestPropertyExceptionStringField_AllPopulated(new PropertyMissingException(PROPERTY, FIELD)); + doTestPropertyExceptionStringField_NullProperty(new PropertyMissingException(null, FIELD)); + doTestPropertyExceptionStringField_NullField(new PropertyMissingException(PROPERTY, null)); + doTestPropertyExceptionStringField_BothNull(new PropertyMissingException(null, null)); + } + +} |