Remove dmaap from models
[policy/models.git] / models-interactions / model-actors / actor.test / src / test / java / org / onap / policy / controlloop / actor / test / BasicBidirectionalTopicOperationTest.java
index 9ec118e..ebfc267 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.
@@ -24,18 +25,25 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.verify;
 
 import java.util.function.BiConsumer;
+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.ArgumentCaptor;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.policy.common.endpoints.event.comm.TopicSink;
+import org.onap.policy.common.endpoints.event.comm.TopicSource;
 import org.onap.policy.common.utils.coder.StandardCoderObject;
+import org.onap.policy.simulators.TopicServer;
 
+@RunWith(MockitoJUnitRunner.class)
 public class BasicBidirectionalTopicOperationTest {
     private static final String ACTOR = "my-actor";
     private static final String OPERATION = "my-operation";
@@ -43,25 +51,48 @@ public class BasicBidirectionalTopicOperationTest {
     @Mock
     private BiConsumer<String, StandardCoderObject> listener;
 
-    private BasicBidirectionalTopicOperation oper;
+    private BasicBidirectionalTopicOperation<String> oper;
 
+    @BeforeClass
+    public static void setUpBeforeClass() throws Exception {
+        BasicBidirectionalTopicOperation.initBeforeClass(BasicBidirectionalTopicOperation.MY_SINK,
+                        BasicBidirectionalTopicOperation.MY_SOURCE);
+    }
+
+    @AfterClass
+    public static void tearDownAfterClass() {
+        BasicBidirectionalTopicOperation.destroyAfterClass();
+    }
 
     /**
      * Sets up.
      */
     @Before
     public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
+        oper = new MyOperation(ACTOR, OPERATION);
+        oper.setUpBasic();
+    }
+
+    @After
+    public void tearDown() {
+        oper.tearDownBasic();
+    }
 
-        oper = new BasicBidirectionalTopicOperation(ACTOR, OPERATION);
-        oper.setUp();
+    @Test
+    public void testTopicMgr() {
+        assertNotNull(BasicBidirectionalTopicOperation.topicMgr.getTopicHandler(
+                        BasicBidirectionalTopicOperation.MY_SINK, BasicBidirectionalTopicOperation.MY_SOURCE));
     }
 
     @Test
     public void testBasicBidirectionalTopicOperation() {
-        oper = new BasicBidirectionalTopicOperation();
-        assertEquals(BasicHttpOperation.DEFAULT_ACTOR, oper.actorName);
-        assertEquals(BasicHttpOperation.DEFAULT_OPERATION, oper.operationName);
+        oper.tearDownBasic();
+
+        oper = new MyOperation();
+        oper.setUpBasic();
+
+        assertEquals(BasicOperation.DEFAULT_ACTOR, oper.actorName);
+        assertEquals(BasicOperation.DEFAULT_OPERATION, oper.operationName);
     }
 
     @Test
@@ -72,24 +103,18 @@ public class BasicBidirectionalTopicOperationTest {
 
     @Test
     public void testSetUp() {
-        assertNotNull(oper.topicParams);
-        assertNotNull(oper.context);
+        assertNotNull(oper.config);
         assertNotNull(oper.outcome);
         assertNotNull(oper.executor);
-        assertTrue(oper.operator.isAlive());
     }
 
     @Test
     public void testInitOperator() {
-        oper.initOperator();
-
-        assertTrue(oper.operator.isAlive());
-        assertEquals(ACTOR + "." + OPERATION, oper.operator.getFullName());
-        assertEquals(ACTOR, oper.operator.getActorName());
-        assertEquals(OPERATION, oper.operator.getName());
-        assertSame(oper.topicHandler, oper.operator.getTopicHandler());
-        assertSame(oper.forwarder, oper.operator.getForwarder());
-        assertSame(oper.topicParams, oper.operator.getParams());
+        oper.initConfig();
+
+        assertSame(oper.topicHandler, oper.config.getTopicHandler());
+        assertSame(oper.forwarder, oper.config.getForwarder());
+        assertEquals(BasicBidirectionalTopicOperation.TIMEOUT_MS, oper.config.getTimeoutMs());
     }
 
     @Test
@@ -107,4 +132,30 @@ public class BasicBidirectionalTopicOperationTest {
         assertThatIllegalArgumentException().isThrownBy(() -> oper.provideResponse(listener, "{invalid json"))
                         .withMessage("response is not a Map");
     }
+
+    private static class MyOperation extends BasicBidirectionalTopicOperation<String> {
+        public MyOperation() {
+            super();
+        }
+
+        /**
+         * Constructs the object.
+         *
+         * @param actor actor name
+         * @param operation operation name
+         */
+        public MyOperation(String actor, String operation) {
+            super(actor, operation);
+        }
+
+        @Override
+        protected TopicServer<String> makeServer(TopicSink sink, TopicSource source) {
+            return new TopicServer<>(sink, source, null, String.class) {
+                @Override
+                protected String process(String request) {
+                    return null;
+                }
+            };
+        }
+    }
 }