X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-interactions%2Fmodel-actors%2Factor.sdnc%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fcontrolloop%2Factor%2Fsdnc%2FBasicSdncOperation.java;h=a88bb023191b34b7d0ed86aed891a0db3fb696f3;hb=938005505883cf7a636a8840e20e3dc8a0ad9176;hp=73b81433a5ca9091c5f82352a128891bb6535f84;hpb=3adc525adc0c288810d9d3a0c2181f9ba46b46c9;p=policy%2Fmodels.git diff --git a/models-interactions/model-actors/actor.sdnc/src/test/java/org/onap/policy/controlloop/actor/sdnc/BasicSdncOperation.java b/models-interactions/model-actors/actor.sdnc/src/test/java/org/onap/policy/controlloop/actor/sdnc/BasicSdncOperation.java index 73b81433a..a88bb0231 100644 --- a/models-interactions/model-actors/actor.sdnc/src/test/java/org/onap/policy/controlloop/actor/sdnc/BasicSdncOperation.java +++ b/models-interactions/model-actors/actor.sdnc/src/test/java/org/onap/policy/controlloop/actor/sdnc/BasicSdncOperation.java @@ -20,7 +20,6 @@ package org.onap.policy.controlloop.actor.sdnc; -import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -29,25 +28,26 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeoutException; +import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams; +import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance; +import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance; +import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.controlloop.actor.test.BasicHttpOperation; import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; -import org.onap.policy.controlloop.actorserviceprovider.impl.OperationMaker; -import org.onap.policy.controlloop.actorserviceprovider.parameters.HttpConfig; -import org.onap.policy.controlloop.policy.PolicyResult; +import org.onap.policy.controlloop.actorserviceprovider.OperationResult; import org.onap.policy.sdnc.SdncRequest; import org.onap.policy.sdnc.SdncResponse; import org.onap.policy.sdnc.SdncResponseOutput; -import org.powermock.reflect.Whitebox; +import org.onap.policy.simulators.Util; /** * Superclass for various operator tests. */ -public abstract class BasicSdncOperation extends BasicHttpOperation { +public abstract class BasicSdncOperation extends BasicHttpOperation { /** * Fields to be ignored when comparing requests with JSON. */ @@ -72,6 +72,23 @@ public abstract class BasicSdncOperation extends BasicHttpOperation super(actor, operation); } + /** + * Starts the simulator. + */ + protected static void initBeforeClass() throws Exception { + var testServer = Util.buildSdncSim(); + assertNotNull(testServer); + + BusTopicParams clientParams = BusTopicParams.builder().clientName(MY_CLIENT).basePath("restconf/operations/") + .hostname("localhost").managed(true).port(Util.SDNCSIM_SERVER_PORT).build(); + HttpClientFactoryInstance.getClientFactory().build(clientParams); + } + + protected static void destroyAfterClass() { + HttpClientFactoryInstance.getClientFactory().destroy(); + HttpServletServerFactoryInstance.getServerFactory().destroy(); + } + /** * Initializes mocks and sets up. */ @@ -94,7 +111,7 @@ public abstract class BasicSdncOperation extends BasicHttpOperation * @return the request that was posted */ protected SdncRequest verifyOperation(SdncOperation operation) - throws InterruptedException, ExecutionException, TimeoutException { + throws InterruptedException, ExecutionException, TimeoutException, CoderException { CompletableFuture future2 = operation.start(); executor.runAll(100); @@ -106,31 +123,14 @@ public abstract class BasicSdncOperation extends BasicHttpOperation executor.runAll(100); assertTrue(future2.isDone()); - assertEquals(PolicyResult.SUCCESS, future2.get().getResult()); + outcome = future2.get(); + assertEquals(OperationResult.SUCCESS, outcome.getResult()); + assertTrue(outcome.getResponse() instanceof SdncResponse); - assertNotNull(future2.get().getSubRequestId()); + assertNotNull(outcome.getSubRequestId()); - return requestCaptor.getValue().getEntity(); - } + String reqText = requestCaptor.getValue().getEntity(); - /** - * Verifies that an exception is thrown if a field is missing from the enrichment - * data. - * - * @param fieldName name of the field to be removed from the enrichment data - * @param expectedText text expected in the exception message - */ - protected void verifyMissing(String fieldName, String expectedText, - OperationMaker maker) { - - makeContext(); - enrichment.remove(fieldName); - - SdncOperation oper = maker.apply(params, config); - - assertThatIllegalArgumentException().isThrownBy(() -> Whitebox.invokeMethod(oper, "makeRequest", 1)) - .withMessageContaining("missing").withMessageContaining(expectedText); + return coder.decode(reqText, SdncRequest.class); } - - protected abstract Map makeEnrichment(); }