Remove dmaap from models
[policy/models.git] / models-interactions / model-actors / actor.test / src / main / java / org / onap / policy / controlloop / actor / test / BasicOperation.java
index f027c1c..b037189 100644 (file)
@@ -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.
@@ -22,11 +23,11 @@ package org.onap.policy.controlloop.actor.test;
 
 import static org.junit.Assert.assertEquals;
 
+import jakarta.ws.rs.core.Response;
 import java.util.Map;
-import java.util.TreeMap;
 import java.util.UUID;
 import java.util.concurrent.CompletableFuture;
-import javax.ws.rs.core.Response;
+import java.util.concurrent.Executor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.onap.policy.common.utils.coder.Coder;
@@ -34,36 +35,40 @@ 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.OperationOutcome;
-import org.onap.policy.controlloop.actorserviceprovider.controlloop.ControlLoopEventContext;
 import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams;
 
 /**
  * Superclass for various Operation tests.
  */
 public class BasicOperation {
-    protected static final Coder coder = new StandardCoder();
     protected static final UUID REQ_ID = UUID.randomUUID();
-    protected static final String DEFAULT_ACTOR = "default-actor";
-    protected static final String DEFAULT_OPERATION = "default-operation";
+    protected static final String SUB_REQ_ID = "my-sub-request-id";
+    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 Executor blockingExecutor = command -> {
+        var thread = new Thread(command);
+        thread.setDaemon(true);
+        thread.start();
+    };
+
     protected final String actorName;
     protected final String operationName;
+    protected Coder coder = new StandardCoder();
 
     @Mock
     protected ActorService service;
 
     protected CompletableFuture<Response> future;
     protected ControlLoopOperationParams params;
-    protected Map<String, String> 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.
      */
@@ -87,7 +92,7 @@ public class BasicOperation {
      * Initializes mocks and sets up.
      */
     public void setUpBasic() {
-        MockitoAnnotations.initMocks(this);
+        closeable = MockitoAnnotations.openMocks(this);
 
         future = new CompletableFuture<>();
 
@@ -95,45 +100,28 @@ public class BasicOperation {
 
         makeContext();
 
+        // get a fresh outcome
         outcome = params.makeOutcome();
     }
 
     /**
-     * Reinitializes {@link #enrichment}, {@link #event}, {@link #context}, and
-     * {@link #params}.
+     * Reinitializes {@link #params}.
      * <p/>
      * 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);
-
-        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<String, String> makeEnrichment() {
-        return new TreeMap<>();
-    }
-
 
     /**
      * Makes payload data.
      *
      * @return payload data
      */
-    protected Map<String, String> makePayload() {
+    protected Map<String, Object> makePayload() {
         return null;
     }
 
@@ -148,7 +136,7 @@ public class BasicOperation {
      */
     protected <R> 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) {