Upgrade and clean up dependencies
[policy/models.git] / models-interactions / model-actors / actor.appc / src / test / java / org / onap / policy / controlloop / actor / appc / AppcOperationTest.java
index 7f7ac7a..d40fa02 100644 (file)
@@ -3,6 +3,7 @@
  * ONAP
  * ================================================================================
  * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2023 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,26 +23,30 @@ package org.onap.policy.controlloop.actor.appc;
 
 import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Map;
 import java.util.TreeMap;
-import org.apache.commons.lang3.tuple.Pair;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.onap.policy.appc.CommonHeader;
 import org.onap.policy.appc.Request;
 import org.onap.policy.appc.ResponseCode;
 import org.onap.policy.appc.ResponseStatus;
+import org.onap.policy.controlloop.actorserviceprovider.OperationResult;
 import org.onap.policy.controlloop.actorserviceprovider.impl.BidirectionalTopicOperation.Status;
-import org.onap.policy.controlloop.policy.PolicyResult;
+import org.onap.policy.controlloop.actorserviceprovider.parameters.BidirectionalTopicConfig;
+import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams;
 
+@RunWith(MockitoJUnitRunner.class)
 public class AppcOperationTest extends BasicAppcOperation {
     private AppcOperation oper;
 
@@ -64,12 +69,7 @@ public class AppcOperationTest extends BasicAppcOperation {
     public void setUp() throws Exception {
         super.setUp();
 
-        oper = new AppcOperation(params, config) {
-            @Override
-            protected Pair<String, Request> makeRequest(int attempt) {
-                return oper.makeRequest(attempt, MY_VNF);
-            }
-        };
+        oper = new MyOper(params, config);
     }
 
     @After
@@ -84,18 +84,13 @@ public class AppcOperationTest extends BasicAppcOperation {
         assertEquals(DEFAULT_OPERATION, oper.getName());
     }
 
-    @Test
-    public void testStartPreprocessorAsync() {
-        assertNotNull(oper.startPreprocessorAsync());
-    }
-
     @Test
     public void testMakeRequest() {
-        Pair<String, Request> result = oper.makeRequest(2, MY_VNF);
-        String subreq = result.getLeft();
+        oper.generateSubRequestId(2);
+        String subreq = oper.getSubRequestId();
         assertNotNull(subreq);
 
-        Request request = result.getRight();
+        Request request = oper.makeRequest(2, genvnf);
         assertEquals(DEFAULT_OPERATION, request.getAction());
 
         assertNotNull(request.getPayload());
@@ -106,27 +101,18 @@ public class AppcOperationTest extends BasicAppcOperation {
 
         assertEquals(subreq, header.getSubRequestId());
 
-        // a subsequent request should have a different sub-request id
-        result = oper.makeRequest(2, MY_VNF);
-        assertNotEquals(subreq, result.getLeft());
-
-        assertNotNull(result.getLeft());
-        assertEquals(result.getLeft(), result.getRight().getCommonHeader().getSubRequestId());
+        request = oper.makeRequest(2, genvnf);
+        assertEquals(subreq, request.getCommonHeader().getSubRequestId());
 
         // repeat using a null payload
         params = params.toBuilder().payload(null).build();
-        oper = new AppcOperation(params, config) {
-            @Override
-            protected Pair<String, Request> makeRequest(int attempt) {
-                return oper.makeRequest(attempt, MY_VNF);
-            }
-        };
-        assertEquals(Map.of(AppcOperation.VNF_ID_KEY, MY_VNF), oper.makeRequest(2, MY_VNF).getRight().getPayload());
+        oper = new MyOper(params, config);
+        assertEquals(Map.of(AppcOperation.VNF_ID_KEY, MY_VNF), oper.makeRequest(2, genvnf).getPayload());
     }
 
     @Test
     public void testConvertPayload() {
-        Request request = oper.makeRequest(2, MY_VNF).getRight();
+        Request request = oper.makeRequest(2, genvnf);
 
         // @formatter:off
         assertEquals(
@@ -145,13 +131,8 @@ public class AppcOperationTest extends BasicAppcOperation {
 
         params = params.toBuilder().payload(payload).build();
 
-        oper = new AppcOperation(params, config) {
-            @Override
-            protected Pair<String, Request> makeRequest(int attempt) {
-                return oper.makeRequest(attempt, MY_VNF);
-            }
-        };
-        request = oper.makeRequest(2, MY_VNF).getRight();
+        oper = new MyOper(params, config);
+        request = oper.makeRequest(2, genvnf);
 
         // @formatter:off
         assertEquals(
@@ -171,13 +152,8 @@ public class AppcOperationTest extends BasicAppcOperation {
         payload.put(KEY3, "def");
         params = params.toBuilder().payload(payload).build();
 
-        oper = new AppcOperation(params, config) {
-            @Override
-            protected Pair<String, Request> makeRequest(int attempt) {
-                return oper.makeRequest(attempt, MY_VNF);
-            }
-        };
-        request = oper.makeRequest(2, MY_VNF).getRight();
+        oper = new MyOper(params, config);
+        request = oper.makeRequest(2, genvnf);
 
         payload.put(AppcOperation.VNF_ID_KEY, MY_VNF);
         payload.put(KEY1, "abc");
@@ -189,7 +165,8 @@ public class AppcOperationTest extends BasicAppcOperation {
 
     @Test
     public void testGetExpectedKeyValues() {
-        Request request = oper.makeRequest(2, MY_VNF).getRight();
+        oper.generateSubRequestId(2);
+        Request request = oper.makeRequest(2, genvnf);
         assertEquals(Arrays.asList(request.getCommonHeader().getSubRequestId()),
                         oper.getExpectedKeyValues(50, request));
     }
@@ -232,22 +209,37 @@ public class AppcOperationTest extends BasicAppcOperation {
 
         // null status
         response.setStatus(null);
-        assertSame(outcome, oper.setOutcome(outcome, PolicyResult.SUCCESS, response));
-        assertEquals(PolicyResult.SUCCESS, outcome.getResult());
+        assertSame(outcome, oper.setOutcome(outcome, OperationResult.SUCCESS, response));
+        assertEquals(OperationResult.SUCCESS, outcome.getResult());
         assertNotNull(outcome.getMessage());
+        assertSame(response, outcome.getResponse());
         response.setStatus(status);
 
         // null description
         status.setDescription(null);
-        assertSame(outcome, oper.setOutcome(outcome, PolicyResult.FAILURE, response));
-        assertEquals(PolicyResult.FAILURE, outcome.getResult());
+        assertSame(outcome, oper.setOutcome(outcome, OperationResult.FAILURE, response));
+        assertEquals(OperationResult.FAILURE, outcome.getResult());
         assertNotNull(outcome.getMessage());
+        assertSame(response, outcome.getResponse());
         status.setDescription(MY_DESCRIPTION);
 
-        for (PolicyResult result : PolicyResult.values()) {
+        for (OperationResult result : OperationResult.values()) {
             assertSame(outcome, oper.setOutcome(outcome, result, response));
             assertEquals(result, outcome.getResult());
             assertEquals(MY_DESCRIPTION, outcome.getMessage());
+            assertSame(response, outcome.getResponse());
+        }
+    }
+
+    private class MyOper extends AppcOperation {
+
+        public MyOper(ControlLoopOperationParams params, BidirectionalTopicConfig config) {
+            super(params, config, Collections.emptyList());
+        }
+
+        @Override
+        protected Request makeRequest(int attempt) {
+            return makeRequest(attempt, genvnf);
         }
     }
 }