* ============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.
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;
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.
*/
* Initializes mocks and sets up.
*/
public void setUpBasic() {
- MockitoAnnotations.initMocks(this);
+ closeable = MockitoAnnotations.openMocks(this);
future = new CompletableFuture<>();
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;
}
*/
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) {