diff options
author | Jim Hahn <jrh3@att.com> | 2018-04-05 13:27:38 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2018-04-16 14:57:04 -0400 |
commit | a69e3a9565186ae06c96215f9c73198d0651b529 (patch) | |
tree | 03c33749e20766e97321ae9e326d644381653234 /policy-core/src/test | |
parent | 155e6205083493851894623b855cd0ec99bbe7c2 (diff) |
Sonar fixes to pooling
Made various changes to the pooling feature to address some of the
sonar issues.
Remove duplicate classes, Pair & Triple.
Fix sonar issue about duplicate process(xxx) methods.
Remove extra items from pom.xml and add assembly builder.
Fix license text in pom.xml, inadvertently reformatted.
Fix a few typos in comments and change LinkedList to Queue.
Move assembly.xml to correct source directory.
Replace ScheduledFuture<?> with CancellableScheduledTask, to satisfy
sonar.
Eliminate "TODO" items: add logging, delay after sending Offline
message.
Add more logging in process(Message) methods.
Begin creating end-to-end junit test, fixed bugs found as a result.
Restore logback-test.xml to WARN.
Fix merge conflict - restored test properties file.
Change-Id: Ic70a8cee49678ea0fc3da309699aec1f6088fe70
Issue-ID: POLICY-728
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'policy-core/src/test')
-rw-r--r-- | policy-core/src/test/java/org/onap/policy/drools/util/FeatureEnabledCheckerTest.java | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/policy-core/src/test/java/org/onap/policy/drools/util/FeatureEnabledCheckerTest.java b/policy-core/src/test/java/org/onap/policy/drools/util/FeatureEnabledCheckerTest.java new file mode 100644 index 00000000..3bb135fe --- /dev/null +++ b/policy-core/src/test/java/org/onap/policy/drools/util/FeatureEnabledCheckerTest.java @@ -0,0 +1,85 @@ +/* + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * 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.drools.util; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.onap.policy.common.utils.properties.SpecPropertyConfiguration.generalize; +import static org.onap.policy.common.utils.properties.SpecPropertyConfiguration.specialize; +import java.util.Properties; +import org.junit.Test; +import org.onap.policy.drools.util.FeatureEnabledChecker; + +public class FeatureEnabledCheckerTest { + + private static final String PROP_NAME = "enable.{?.}it"; + + private static final String SPEC = "my.specializer"; + + @Test + public void test() { + assertFalse(check(null, null)); + assertTrue(check(null, true)); + assertFalse(check(null, false)); + + assertTrue(check(true, null)); + assertTrue(check(true, true)); + assertFalse(check(true, false)); + + assertFalse(check(false, null)); + assertTrue(check(false, true)); + assertFalse(check(false, false)); + } + + @Test(expected = IllegalArgumentException.class) + public void test_ArgEx() { + + // check case where there's an exception in the property + Properties props = new Properties(); + props.setProperty(generalize(PROP_NAME), "invalid-boolean"); + + assertFalse(FeatureEnabledChecker.isFeatureEnabled(props, SPEC, PROP_NAME)); + } + + /** + * Adds properties, as specified, and checks if the feature is enabled. + * + * @param wantGen value to assign to the generalized property, or + * {@code null} to leave it unset + * @param wantSpec value to assign to the specialized property, or + * {@code null} to leave it unset + * @return {@code true} if the feature is enabled, {@code false} otherwise + */ + public boolean check(Boolean wantGen, Boolean wantSpec) { + Properties props = new Properties(); + + if (wantGen != null) { + props.setProperty(generalize(PROP_NAME), wantGen.toString()); + } + + if (wantSpec != null) { + props.setProperty(specialize(PROP_NAME, SPEC), wantSpec.toString()); + } + + return FeatureEnabledChecker.isFeatureEnabled(props, SPEC, PROP_NAME); + } + +} |