X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-interactions%2Fmodel-actors%2Factor.test%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fcontrolloop%2Factor%2Ftest%2FBasicOperation.java;h=b037189b0c1c3545b076d4cf344bbc6a6b758c3e;hb=49f07db935d114b72a44e446867b16262dd552aa;hp=a0bb58e095c96031eb774d51dd2330259e2c6315;hpb=e88e4b3281fa4881093ccd1dfae8f826a5e9ff5a;p=policy%2Fmodels.git diff --git a/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicOperation.java b/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicOperation.java index a0bb58e09..b037189b0 100644 --- a/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicOperation.java +++ b/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicOperation.java @@ -2,7 +2,8 @@ * ============LICENSE_START======================================================= * ONAP * ================================================================================ - * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2024 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,34 +22,22 @@ package org.onap.policy.controlloop.actor.test; import static org.junit.Assert.assertEquals; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.when; +import jakarta.ws.rs.core.Response; import java.util.Map; -import java.util.TreeMap; import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; -import javax.ws.rs.core.Response; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.onap.policy.aai.AaiConstants; -import org.onap.policy.aai.AaiCqResponse; import org.onap.policy.common.utils.coder.Coder; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.common.utils.time.PseudoExecutor; -import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actorserviceprovider.ActorService; -import org.onap.policy.controlloop.actorserviceprovider.Operation; import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; -import org.onap.policy.controlloop.actorserviceprovider.Operator; -import org.onap.policy.controlloop.actorserviceprovider.controlloop.ControlLoopEventContext; -import org.onap.policy.controlloop.actorserviceprovider.impl.OperationPartial; import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams; -import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; -import org.onap.policy.controlloop.policy.PolicyResult; /** * Superclass for various Operation tests. @@ -59,13 +48,9 @@ public class BasicOperation { protected static final String DEFAULT_ACTOR = "default-Actor"; protected static final String DEFAULT_OPERATION = "default-Operation"; protected static final String TARGET_ENTITY = "my-target"; - protected static final String CL_NAME = "my-closed-loop"; - protected static final String EVENT_POLICY_NAME = "my-event-policy-name"; - protected static final String EVENT_POLICY_VERSION = "my-event-policy-version"; - protected static final String EVENT_VERSION = "my-event-version"; protected static final Executor blockingExecutor = command -> { - Thread thread = new Thread(command); + var thread = new Thread(command); thread.setDaemon(true); thread.start(); }; @@ -76,30 +61,14 @@ public class BasicOperation { @Mock protected ActorService service; - @Mock - protected Actor guardActor; - @Mock - protected Operator guardOperator; - @Mock - protected Operation guardOperation; - @Mock - protected Actor cqActor; - @Mock - protected Operator cqOperator; - @Mock - protected Operation cqOperation; - @Mock - protected AaiCqResponse cqResponse; - protected CompletableFuture cqFuture; protected CompletableFuture future; protected ControlLoopOperationParams params; - protected Map enrichment; - protected VirtualControlLoopEvent event; - protected ControlLoopEventContext context; protected OperationOutcome outcome; protected PseudoExecutor executor; + protected AutoCloseable closeable; + /** * Constructs the object using a default actor and operation name. */ @@ -123,66 +92,29 @@ public class BasicOperation { * Initializes mocks and sets up. */ public void setUpBasic() { - MockitoAnnotations.initMocks(this); + closeable = MockitoAnnotations.openMocks(this); - cqFuture = new CompletableFuture<>(); future = new CompletableFuture<>(); executor = new PseudoExecutor(); makeContext(); - when(service.getActor(OperationPartial.GUARD_ACTOR_NAME)).thenReturn(guardActor); - when(guardActor.getOperator(OperationPartial.GUARD_OPERATION_NAME)).thenReturn(guardOperator); - when(guardOperator.buildOperation(any())).thenReturn(guardOperation); - - outcome = params.makeOutcome(TARGET_ENTITY); - outcome.setResult(PolicyResult.SUCCESS); - when(guardOperation.start()).thenReturn(CompletableFuture.completedFuture(outcome)); - - when(service.getActor(AaiConstants.ACTOR_NAME)).thenReturn(cqActor); - when(cqActor.getOperator("CustomQuery")).thenReturn(cqOperator); - when(cqOperator.buildOperation(any())).thenReturn(cqOperation); - - when(cqOperation.start()).thenReturn(cqFuture); - // get a fresh outcome - outcome = params.makeOutcome(TARGET_ENTITY); + outcome = params.makeOutcome(); } /** - * Reinitializes {@link #enrichment}, {@link #event}, {@link #context}, and - * {@link #params}. + * Reinitializes {@link #params}. *

* Note: {@link #params} is configured to use {@link #executor}. */ protected void makeContext() { - enrichment = new TreeMap<>(makeEnrichment()); - - event = new VirtualControlLoopEvent(); - event.setRequestId(REQ_ID); - event.setAai(enrichment); - event.setClosedLoopControlName(CL_NAME); - event.setPolicyName(EVENT_POLICY_NAME); - event.setPolicyVersion(EVENT_POLICY_VERSION); - event.setVersion(EVENT_VERSION); - - context = new ControlLoopEventContext(event); - - params = ControlLoopOperationParams.builder().executor(executor).context(context).actorService(service) - .actor(actorName).operation(operationName).targetEntity(TARGET_ENTITY).payload(makePayload()) + params = ControlLoopOperationParams.builder().executor(executor).requestId(REQ_ID).actorService(service) + .actor(actorName).operation(operationName).payload(makePayload()) .build(); } - /** - * Makes enrichment data. - * - * @return enrichment data - */ - protected Map makeEnrichment() { - return new TreeMap<>(); - } - /** * Makes payload data. @@ -204,7 +136,7 @@ public class BasicOperation { */ protected void verifyRequest(String expectedJsonFile, R request, String... ignore) throws CoderException { String json = coder.encode(request, true); - String expected = ResourceUtils.getResourceAsString(expectedJsonFile); + var expected = ResourceUtils.getResourceAsString(expectedJsonFile); // strip various items, because they change for each request for (String stripper : ignore) { @@ -218,16 +150,4 @@ public class BasicOperation { assertEquals(expected, json); } - - /** - * Provides a response to a custom query. - * - * @param cq response to provide - */ - protected void provideCqResponse(AaiCqResponse cq) { - context.setProperty(AaiCqResponse.CONTEXT_KEY, cq); - OperationOutcome outcome2 = params.makeOutcome(TARGET_ENTITY); - outcome2.setResult(PolicyResult.SUCCESS); - cqFuture.complete(outcome2); - } }