diff options
author | Jim Hahn <jrh3@att.com> | 2018-03-23 14:47:42 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2018-03-25 09:03:26 -0400 |
commit | d625f8e805c12301e36392d550b4ca8f8cfa3b5f (patch) | |
tree | 8b4cb9e2ef1c3d85e236f2a07a42427e880a8c99 /utils/src/test/java/org/onap/policy/common/utils/properties/exception/BasicPropertyExceptionTester.java | |
parent | 586e553d141e087566a6b064121910089cf52cff (diff) |
Add PropertyConfiguration class
Added PropertyConfiguration class, which provides for the loading of
properties into the fields of a subclass. Annotations are used to
identify the field to be loaded and the name of the property from
which it is to be loaded.
Changed attribute "useDefault" to "emptyOk" so that it only has to
be specified when the default value is empty.
Reformatted a couple of files.
Added setAllFields() method.
Added getRawPropertyValue() method so subclasses can change how
values are extracted from the property set.
Added SpecPropertyConfiguration so controller or session names
may be embedded within property names.
Fixed some typos.
Refactored out generalizeType2().
Changed exception classes to take field name instead of Field object.
Modified getValue() to take the field name and class type instead of
Field object.
Removed or fixed comments in junit tests.
Added more junit tests.
Changed emptyOk attribute to accept, to facilitate adding other
options in the future.
Corrected comments on the isEmptyOk() methods.
Change-Id: I6b190fea687f87cf512fb3236bfcf40b7adc4566
Issue-ID: POLICY-577
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'utils/src/test/java/org/onap/policy/common/utils/properties/exception/BasicPropertyExceptionTester.java')
-rw-r--r-- | utils/src/test/java/org/onap/policy/common/utils/properties/exception/BasicPropertyExceptionTester.java | 130 |
1 files changed, 130 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()); + } + +} |