X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Forg%2Fopenecomp%2Fdatarouter%2Fpolicy%2FEntityEventPolicyTest.java;fp=src%2Ftest%2Fjava%2Forg%2Fopenecomp%2Fdatarouter%2Fpolicy%2FEntityEventPolicyTest.java;h=0d97e1dbffdf8c4b03f0bc783bf2605faf498c1a;hb=1e6752c966b48eb2351416691c96f9858c54f978;hp=0000000000000000000000000000000000000000;hpb=98d2d4fa91a9e9dc4a4444fe9aee0bf299de7d7b;p=aai%2Fdata-router.git diff --git a/src/test/java/org/openecomp/datarouter/policy/EntityEventPolicyTest.java b/src/test/java/org/openecomp/datarouter/policy/EntityEventPolicyTest.java new file mode 100644 index 0000000..0d97e1d --- /dev/null +++ b/src/test/java/org/openecomp/datarouter/policy/EntityEventPolicyTest.java @@ -0,0 +1,79 @@ +package org.openecomp.datarouter.policy; + +import static org.junit.Assert.*; +import static org.mockito.Matchers.anyObject; +import static org.mockito.Matchers.anyString; + +import java.io.File; +import java.io.FileInputStream; + +import org.apache.camel.Exchange; +import org.apache.camel.Message; +import org.apache.commons.io.IOUtils; +import org.junit.Before; +import org.junit.Test; +import org.openecomp.datarouter.util.NodeUtils; +import org.openecomp.datarouter.util.SearchServiceAgent; +import org.powermock.api.mockito.PowerMockito; + + + +public class EntityEventPolicyTest { + EntityEventPolicy policy; + String eventJson; + + @SuppressWarnings("unchecked") + @Before + public void init() throws Exception { + EntityEventPolicyConfig config = PowerMockito.mock(EntityEventPolicyConfig.class); + PowerMockito.when(config.getSearchKeystorePwd()).thenReturn("password"); + PowerMockito.when(config.getSourceDomain()).thenReturn("JUNIT"); + + + SearchServiceAgent searchServiceAgent = PowerMockito.mock(SearchServiceAgent.class); + + PowerMockito.whenNew(SearchServiceAgent.class).withAnyArguments().thenReturn(searchServiceAgent); + + + policy = new EntityEventPolicyStubbed(config); + FileInputStream event = new FileInputStream( new File("src/test/resources/aai_event.json")); + eventJson = IOUtils.toString(event, "UTF-8"); + + } + + @Test + public void testProcess() throws Exception { + policy.process(getExchangeEvent("event1","create")); + policy.process(getExchangeEvent("event2","create")); + + assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event1"))); + assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event2"))); + + policy.process(getExchangeEvent("event1","update")); + policy.process(getExchangeEvent("event2","update")); + assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event1"))); + assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event2"))); + + policy.process(getExchangeEvent("event2","delete")); + assertNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event2"))); + } + + private Exchange getExchangeEvent(String link,String action){ + Object obj = eventJson.replace("$LINK",link ).replace("$ACTION",action) ; + Exchange exchange = PowerMockito.mock(Exchange.class); + Message inMessage = PowerMockito.mock(Message.class); + Message outMessage = PowerMockito.mock(Message.class); + PowerMockito.when(exchange.getIn()).thenReturn(inMessage); + PowerMockito.when(inMessage.getBody()).thenReturn(obj); + + PowerMockito.when(exchange.getOut()).thenReturn(outMessage); + PowerMockito.doNothing().when(outMessage).setBody(anyObject()); + PowerMockito.doNothing().when(outMessage).setHeader(anyString(), anyObject()); + + return exchange; + + } + + + +}