From d896f94cecc28b5a91cd423ba62ee096dc0fac60 Mon Sep 17 00:00:00 2001 From: liamfallon Date: Sun, 28 Jan 2018 22:24:23 +0000 Subject: Fix technical debt/JUnit on actor service provider Unit test for actor service provider added and technical debt removed. Change-Id: I9573f1c3ff0252b166e06caaa88eb679a1fc7347 Signed-off-by: liamfallon Issue-ID: POLICY-455 Signed-off-by: liamfallon --- .../actor/appc/APPCActorServiceProvider.java | 2 +- .../actor/appclcm/AppcLcmActorServiceProvider.java | 2 +- .../actor/so/SOActorServiceProvider.java | 2 +- .../onap/policy/controlloop/actor/test/Test.java | 49 ------------------ .../actor/vfc/VFCActorServiceProvider.java | 2 +- .../common/actors/actorServiceProvider/pom.xml | 16 ++++-- .../actorServiceProvider/ActorService.java | 12 +++-- .../actorServiceProvider/spi/Actor.java | 2 +- .../actorserviceprovider/TestActor.java | 60 ++++++++++++++++++++++ .../TestActorServiceProvider.java | 54 +++++++++++++++++++ ...licy.controlloop.actorserviceprovider.spi.Actor | 1 + 11 files changed, 139 insertions(+), 63 deletions(-) delete mode 100644 controlloop/common/actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/Test.java create mode 100644 controlloop/common/actors/actorserviceprovider/src/test/java/org/onap/policy/controlloop/actorserviceprovider/TestActor.java create mode 100644 controlloop/common/actors/actorserviceprovider/src/test/java/org/onap/policy/controlloop/actorserviceprovider/TestActorServiceProvider.java create mode 100644 controlloop/common/actors/actorserviceprovider/src/test/resources/META-INF/services/org.onap.policy.controlloop.actorserviceprovider.spi.Actor (limited to 'controlloop/common') diff --git a/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java b/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java index 929b31982..ef897b9c9 100644 --- a/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java +++ b/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java @@ -31,7 +31,7 @@ import org.onap.policy.controlloop.policy.Policy; import org.onap.policy.vnf.trafficgenerator.PGRequest; import org.onap.policy.vnf.trafficgenerator.PGStream; import org.onap.policy.vnf.trafficgenerator.PGStreams; -import org.onap.policy.controlloop.actorServiceProvider.spi.Actor; +import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/controlloop/common/actors/actor.appclcm/src/main/java/org/onap/policy/controlloop/actor/appclcm/AppcLcmActorServiceProvider.java b/controlloop/common/actors/actor.appclcm/src/main/java/org/onap/policy/controlloop/actor/appclcm/AppcLcmActorServiceProvider.java index 813ddfaa7..1635094f9 100644 --- a/controlloop/common/actors/actor.appclcm/src/main/java/org/onap/policy/controlloop/actor/appclcm/AppcLcmActorServiceProvider.java +++ b/controlloop/common/actors/actor.appclcm/src/main/java/org/onap/policy/controlloop/actor/appclcm/AppcLcmActorServiceProvider.java @@ -47,7 +47,7 @@ import org.onap.policy.appclcm.LCMResponseCode; import org.onap.policy.appclcm.LCMResponseWrapper; import org.onap.policy.controlloop.ControlLoopOperation; import org.onap.policy.controlloop.VirtualControlLoopEvent; -import org.onap.policy.controlloop.actorServiceProvider.spi.Actor; +import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import org.onap.policy.controlloop.policy.Policy; import org.onap.policy.controlloop.policy.PolicyResult; import org.onap.policy.drools.system.PolicyEngine; diff --git a/controlloop/common/actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SOActorServiceProvider.java b/controlloop/common/actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SOActorServiceProvider.java index eb2bc1731..269ef0f17 100644 --- a/controlloop/common/actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SOActorServiceProvider.java +++ b/controlloop/common/actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SOActorServiceProvider.java @@ -37,7 +37,7 @@ import org.onap.policy.aai.AAINQResponse; import org.onap.policy.aai.AAINQResponseWrapper; import org.onap.policy.controlloop.ControlLoopOperation; import org.onap.policy.controlloop.VirtualControlLoopEvent; -import org.onap.policy.controlloop.actorServiceProvider.spi.Actor; +import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import org.onap.policy.controlloop.policy.Policy; import org.onap.policy.drools.system.PolicyEngine; import org.onap.policy.rest.RESTManager; diff --git a/controlloop/common/actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/Test.java b/controlloop/common/actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/Test.java deleted file mode 100644 index e526abd41..000000000 --- a/controlloop/common/actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/Test.java +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * actor test - * ================================================================================ - * Copyright (C) 2017 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.controlloop.actor.test; - -import static org.junit.Assert.*; - -import org.onap.policy.controlloop.actorServiceProvider.ActorService; -import org.onap.policy.controlloop.actorServiceProvider.spi.Actor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class Test { - private static final Logger logger = LoggerFactory.getLogger(Test.class); - - @org.junit.Test - public void test() { - logger.debug("Dumping actors"); - ActorService actorService = ActorService.getInstance(); - assertNotNull(actorService); - int num = 0; - for (Actor actor : actorService.actors()) { - logger.debug(actor.actor()); - for (String recipe : actor.recipes()) { - logger.debug("\t {} {} {}", recipe, actor.recipeTargets(recipe), actor.recipePayloads(recipe)); - } - num++; - } - logger.debug("Found {} actors", num); - } - -} diff --git a/controlloop/common/actors/actor.vfc/src/main/java/org/onap/policy/controlloop/actor/vfc/VFCActorServiceProvider.java b/controlloop/common/actors/actor.vfc/src/main/java/org/onap/policy/controlloop/actor/vfc/VFCActorServiceProvider.java index cf32abf38..c2de78c2c 100644 --- a/controlloop/common/actors/actor.vfc/src/main/java/org/onap/policy/controlloop/actor/vfc/VFCActorServiceProvider.java +++ b/controlloop/common/actors/actor.vfc/src/main/java/org/onap/policy/controlloop/actor/vfc/VFCActorServiceProvider.java @@ -30,7 +30,7 @@ import org.onap.policy.controlloop.ControlLoopOperation; import org.onap.policy.controlloop.policy.Policy; import org.onap.policy.drools.system.PolicyEngine; import org.onap.policy.rest.RESTManager; -import org.onap.policy.controlloop.actorServiceProvider.spi.Actor; +import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/controlloop/common/actors/actorServiceProvider/pom.xml b/controlloop/common/actors/actorServiceProvider/pom.xml index 494254bc9..05f486e0d 100644 --- a/controlloop/common/actors/actorServiceProvider/pom.xml +++ b/controlloop/common/actors/actorServiceProvider/pom.xml @@ -1,12 +1,20 @@ - + 4.0.0 - org.onap.policy.drools-applications + org.onap.policy.drools-applications actors 1.2.0-SNAPSHOT actorServiceProvider + + + + junit + junit + 4.12 + test + + diff --git a/controlloop/common/actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorServiceProvider/ActorService.java b/controlloop/common/actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorServiceProvider/ActorService.java index 330b1f97c..45bb9f265 100644 --- a/controlloop/common/actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorServiceProvider/ActorService.java +++ b/controlloop/common/actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorServiceProvider/ActorService.java @@ -18,12 +18,12 @@ * ============LICENSE_END========================================================= */ -package org.onap.policy.controlloop.actorServiceProvider; +package org.onap.policy.controlloop.actorserviceprovider; import java.util.Iterator; import java.util.ServiceLoader; -import org.onap.policy.controlloop.actorServiceProvider.spi.Actor; +import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.collect.ImmutableList; @@ -32,7 +32,8 @@ public class ActorService { private static final Logger logger = LoggerFactory.getLogger(ActorService.class); private static ActorService service; - + + // USed to load actors private ServiceLoader loader; private ActorService() { @@ -50,10 +51,11 @@ public class ActorService { Iterator iter = loader.iterator(); logger.debug("returning actors"); while (iter.hasNext()) { - logger.debug("Got {}", iter.next().actor()); + if (logger.isDebugEnabled()) { + logger.debug("Got {}", iter.next().actor()); + } } return ImmutableList.copyOf(loader.iterator()); } - } diff --git a/controlloop/common/actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorServiceProvider/spi/Actor.java b/controlloop/common/actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorServiceProvider/spi/Actor.java index 2492063c8..b8e310d61 100644 --- a/controlloop/common/actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorServiceProvider/spi/Actor.java +++ b/controlloop/common/actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorServiceProvider/spi/Actor.java @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.onap.policy.controlloop.actorServiceProvider.spi; +package org.onap.policy.controlloop.actorserviceprovider.spi; import java.util.List; diff --git a/controlloop/common/actors/actorserviceprovider/src/test/java/org/onap/policy/controlloop/actorserviceprovider/TestActor.java b/controlloop/common/actors/actorserviceprovider/src/test/java/org/onap/policy/controlloop/actorserviceprovider/TestActor.java new file mode 100644 index 000000000..5bf66bc21 --- /dev/null +++ b/controlloop/common/actors/actorserviceprovider/src/test/java/org/onap/policy/controlloop/actorserviceprovider/TestActor.java @@ -0,0 +1,60 @@ +/*- + * ============LICENSE_START======================================================= + * TestActorServiceProvider + * ================================================================================ + * Copyright (C) 2018 Ericsson. 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.controlloop.actorserviceprovider; + +import java.util.ArrayList; +import java.util.List; + +import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; + +public class TestActor implements Actor { + @Override + public String actor() { + return this.getClass().getSimpleName(); + } + + @Override + public List recipes() { + List recipieList = new ArrayList<>(); + recipieList.add("Dorothy"); + recipieList.add("Wizard"); + + return recipieList; + } + + @Override + public List recipeTargets(String recipe) { + List recipieTargetList = new ArrayList<>(); + recipieTargetList.add("Wicked Witch"); + recipieTargetList.add("Wizard of Oz"); + + return recipieTargetList; + } + + @Override + public List recipePayloads(String recipe) { + List recipiePayloadList = new ArrayList<>(); + recipiePayloadList.add("Dorothy"); + recipiePayloadList.add("Toto"); + + return recipiePayloadList; + } +} diff --git a/controlloop/common/actors/actorserviceprovider/src/test/java/org/onap/policy/controlloop/actorserviceprovider/TestActorServiceProvider.java b/controlloop/common/actors/actorserviceprovider/src/test/java/org/onap/policy/controlloop/actorserviceprovider/TestActorServiceProvider.java new file mode 100644 index 000000000..14c2d8297 --- /dev/null +++ b/controlloop/common/actors/actorserviceprovider/src/test/java/org/onap/policy/controlloop/actorserviceprovider/TestActorServiceProvider.java @@ -0,0 +1,54 @@ +/*- + * ============LICENSE_START======================================================= + * TestActorServiceProvider + * ================================================================================ + * Copyright (C) 2018 Ericsson. 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.controlloop.actorserviceprovider; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; +import org.onap.policy.controlloop.actorserviceprovider.ActorService; +import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; + +public class TestActorServiceProvider { + + @Test + public void testActorServiceProvider() { + ActorService actorService = ActorService.getInstance(); + assertNotNull(actorService); + + assertEquals(1, actorService.actors().size()); + + actorService = ActorService.getInstance(); + assertNotNull(actorService); + + Actor testActor = ActorService.getInstance().actors().get(0); + assertNotNull(testActor); + + assertEquals("TestActor", testActor.actor()); + + assertEquals(2, testActor.recipes().size()); + assertEquals("Dorothy", testActor.recipes().get(0)); + assertEquals("Wizard", testActor.recipes().get(1)); + + assertEquals(2, testActor.recipeTargets("Dorothy").size()); + assertEquals(2, testActor.recipePayloads("Dorothy").size()); + } +} diff --git a/controlloop/common/actors/actorserviceprovider/src/test/resources/META-INF/services/org.onap.policy.controlloop.actorserviceprovider.spi.Actor b/controlloop/common/actors/actorserviceprovider/src/test/resources/META-INF/services/org.onap.policy.controlloop.actorserviceprovider.spi.Actor new file mode 100644 index 000000000..a15871456 --- /dev/null +++ b/controlloop/common/actors/actorserviceprovider/src/test/resources/META-INF/services/org.onap.policy.controlloop.actorserviceprovider.spi.Actor @@ -0,0 +1 @@ +org.onap.policy.controlloop.actorserviceprovider.TestActor \ No newline at end of file -- cgit 1.2.3-korg