From 82f4f1ccada97fa394f88cf208ce526ff5ebf751 Mon Sep 17 00:00:00 2001 From: Gurjeet Bedi Date: Thu, 14 Jun 2018 12:20:23 -0400 Subject: Make generic router core implementations Remove dependency of implementation classes of event client Issue-ID: AAI-1228 Change-Id: I464439e225de6b32941257c090932bd2f6066dc8 Signed-off-by: Gurjeet Bedi --- src/test/java/org/onap/aai/event/EventBusTest.java | 145 ++++++++++++--------- .../java/org/onap/aai/event/TestProcessor.java | 35 ----- 2 files changed, 80 insertions(+), 100 deletions(-) delete mode 100644 src/test/java/org/onap/aai/event/TestProcessor.java (limited to 'src/test') diff --git a/src/test/java/org/onap/aai/event/EventBusTest.java b/src/test/java/org/onap/aai/event/EventBusTest.java index 1add1c0..c7cd527 100644 --- a/src/test/java/org/onap/aai/event/EventBusTest.java +++ b/src/test/java/org/onap/aai/event/EventBusTest.java @@ -23,17 +23,49 @@ package org.onap.aai.event; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import java.io.PrintWriter; -import java.io.StringWriter; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; +import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; +import org.apache.camel.Exchange; +import org.apache.camel.Processor; +import org.apache.camel.impl.DefaultMessage; +import org.apache.camel.impl.MessageSupport; +import org.apache.kafka.clients.consumer.ConsumerRecords; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.aai.event.api.EventConsumer; +import org.onap.aai.event.api.EventPublisher; +import com.att.aft.dme2.hazelcast.core.Message; + +@RunWith(MockitoJUnitRunner.class) public class EventBusTest { + @Mock + public EventConsumer consumer; + + @Mock + public EventPublisher publisher; + + @Mock + public CamelContext context; + + @Mock + public Processor processor; - /** + @Mock + Exchange exchange; + + @Mock + AbstractEventBusEndpoint endPoint; + + /** * Test case initialization * * @throws Exception the exception @@ -44,77 +76,60 @@ public class EventBusTest { @Test public void validateProducer() throws Exception { - try { - DMaaPEventBusComponent rc = new DMaaPEventBusComponent(); - DMaaPEventBusEndpoint endpoint = new DMaaPEventBusEndpoint("http://host.com:8443/endpoint", rc); - endpoint.setPassword("OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10"); - endpoint.setUsername("OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10"); - endpoint.setEventTopic("eventTopic"); - endpoint.setConsumerId("groupId"); - endpoint.setConsumerGroup("gn"); - endpoint.setName("name"); - endpoint.setPoolSize(45); - endpoint.setPollingDelay(10); - endpoint.setUrl("url"); - - assertTrue(endpoint.getPassword().compareTo("onapSecret") == 0); - assertTrue(endpoint.getUsername().compareTo("onapSecret") == 0); - assertTrue(endpoint.getEventTopic().compareTo("eventTopic") == 0); - assertTrue(endpoint.getConsumerId().compareTo("groupId") == 0); - assertTrue(endpoint.getConsumerGroup().compareTo("gn") == 0); - assertTrue(endpoint.getName().compareTo("name") == 0); - assertTrue(endpoint.getPoolSize() == 45); - assertTrue(endpoint.getPollingDelay() == 10); - assertTrue(endpoint.getUrl().compareTo("url") == 0); - assertFalse(endpoint.isSingleton()); - - EventBusProducer producer = (EventBusProducer)endpoint.createProducer(); - assertTrue(producer.getEndpoint() != null); - } - catch (Exception ex) { - StringWriter writer = new StringWriter(); - PrintWriter printWriter = new PrintWriter( writer ); - ex.printStackTrace( printWriter ); - printWriter.flush(); - System.out.println(writer.toString()); - throw ex; - } + EventBusComponent rc = new EventBusComponent(); + EventBusEndPoint endpoint = new EventBusEndPoint("http://host.com:8443/endpoint", rc); + endpoint.setEventTopic("eventTopic"); + endpoint.setPublisher(publisher); + endpoint.setPoolSize(45); + endpoint.setPollingDelay(10); + + assertTrue(endpoint.getEventTopic().compareTo("eventTopic") == 0); + assertTrue(endpoint.getPoolSize() == 45); + assertTrue(endpoint.getPollingDelay() == 10); + assertFalse(endpoint.isSingleton()); + EventBusProducer producer = (EventBusProducer)endpoint.createProducer(); + assertTrue(producer.getEndpoint() != null); + endpoint.close(); } @Test public void validateEventBusComponent() throws Exception { - DMaaPEventBusComponent rc = new DMaaPEventBusComponent(new TestCamelContext()); + EventBusComponent rc = new EventBusComponent(context); Endpoint endpoint = rc.createEndpoint("http://host.com:8443/endpoint", null, new HashMap()); assertTrue(endpoint.getEndpointUri().equals("http://host.com:8443/endpoint")); } @Test public void validateConsumer() throws Exception { - try { - DMaaPEventBusComponent rc = new DMaaPEventBusComponent(); - DMaaPEventBusEndpoint endpoint = new DMaaPEventBusEndpoint("http://host.com:8443/endpoint", rc); - - endpoint.setPassword("OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10"); - endpoint.setUsername("OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10"); - endpoint.setEventTopic("eventTopic"); - endpoint.setConsumerId("groupId"); - endpoint.setConsumerGroup("gn"); - endpoint.setName("name"); - endpoint.setPoolSize(45); - endpoint.setPollingDelay(10); - endpoint.setUrl("url"); - - TestProcessor processor = new TestProcessor(); - EventBusConsumer consumer = (EventBusConsumer)endpoint.createConsumer(processor); - - } - catch (Exception ex) { - StringWriter writer = new StringWriter(); - PrintWriter printWriter = new PrintWriter( writer ); - ex.printStackTrace( printWriter ); - printWriter.flush(); - System.out.println(writer.toString()); - throw ex; - } + EventBusComponent rc = new EventBusComponent(); + EventBusEndPoint endpoint = new EventBusEndPoint("http://host.com:8443/endpoint", rc); + + endpoint.setConsumer(consumer); + endpoint.setEventTopic("eventTopic"); + endpoint.setPoolSize(45); + endpoint.setPollingDelay(10); + + assertTrue(endpoint.getEventTopic().compareTo("eventTopic") == 0); + assertTrue(endpoint.getPoolSize() == 45); + assertTrue(endpoint.getPollingDelay() == 10); + assertFalse(endpoint.isSingleton()); + + EventBusConsumer consumer = (EventBusConsumer)endpoint.createConsumer(processor); + } + + @Test + public void validateConsumerPoll() throws Exception { + MessageSupport me = new DefaultMessage(context); + List list = new ArrayList<>(); + list.add("Message 1"); + list.add("Message 2"); + + Mockito.when(consumer.consumeAndCommit()).thenReturn(list); + Mockito.when(endPoint.createExchange()).thenReturn(exchange); + Mockito.when(exchange.getIn()).thenReturn(me); + Mockito.when(exchange.getOut()).thenReturn(me); + + EventBusConsumer busConsumer = new EventBusConsumer(endPoint, processor, consumer); + int messages = busConsumer.poll(); } } diff --git a/src/test/java/org/onap/aai/event/TestProcessor.java b/src/test/java/org/onap/aai/event/TestProcessor.java deleted file mode 100644 index e0f2d27..0000000 --- a/src/test/java/org/onap/aai/event/TestProcessor.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017-2018 Amdocs - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.aai.event; - -import org.apache.camel.Exchange; -import org.apache.camel.Processor; - -public class TestProcessor implements Processor { - - @Override - public void process(Exchange exchange) throws Exception { - // TODO Auto-generated method stub - - } - -} -- cgit 1.2.3-korg