X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Forg%2Fonap%2Faai%2Fdatarouter%2Fpolicy%2FEntityEventPolicyTest.java;h=b76e7ee761aee7c3dfb72eeb9f045d87881e6abe;hb=3a50e4c2dd8bdfca4b4c834316abee075448f27e;hp=adf8ce28b8129aabbc9580af2e7a467f983846c2;hpb=72da66902a3efaff3068ed2b3f4f7eb3bb5fe43f;p=aai%2Fdata-router.git diff --git a/src/test/java/org/onap/aai/datarouter/policy/EntityEventPolicyTest.java b/src/test/java/org/onap/aai/datarouter/policy/EntityEventPolicyTest.java index adf8ce2..b76e7ee 100644 --- a/src/test/java/org/onap/aai/datarouter/policy/EntityEventPolicyTest.java +++ b/src/test/java/org/onap/aai/datarouter/policy/EntityEventPolicyTest.java @@ -20,7 +20,8 @@ */ package org.onap.aai.datarouter.policy; -import static org.junit.Assert.*; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.mockito.Matchers.anyObject; import static org.mockito.Matchers.anyString; @@ -32,67 +33,80 @@ import org.apache.camel.Message; import org.apache.commons.io.IOUtils; import org.junit.Before; import org.junit.Test; -import org.onap.aai.datarouter.policy.EntityEventPolicy; -import org.onap.aai.datarouter.policy.EntityEventPolicyConfig; +import org.junit.runner.RunWith; import org.onap.aai.datarouter.util.NodeUtils; -import org.onap.aai.datarouter.util.SearchServiceAgent; +import org.onap.aai.setup.SchemaLocationsBean; +import org.onap.aai.setup.SchemaVersions; import org.powermock.api.mockito.PowerMockito; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration("file:src/test/resources/spring-beans/data-router-oxm.xml") public class EntityEventPolicyTest { - private EntityEventPolicy policy; - private String eventJson; - private InMemorySearchDatastore searchDb; - - @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"); - - searchDb = new InMemorySearchDatastore(); - policy = new EntityEventPolicyStubbed(config).withSearchDb(searchDb); - - 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(searchDb.get(NodeUtils.generateUniqueShaDigest("event1"))); - assertNotNull(searchDb.get(NodeUtils.generateUniqueShaDigest("event2"))); - - policy.process(getExchangeEvent("event1","update")); - policy.process(getExchangeEvent("event2","update")); - assertNotNull(searchDb.get(NodeUtils.generateUniqueShaDigest("event1"))); - assertNotNull(searchDb.get(NodeUtils.generateUniqueShaDigest("event2"))); - - policy.process(getExchangeEvent("event2","delete")); - assertNull(searchDb.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; - - } - - + private EntityEventPolicyConfig eventPolicyConfig; + private EntityEventPolicy policy; + private String eventJson; + private InMemorySearchDatastore searchDb; + + @Autowired + private SchemaVersions schemaVersions; + @Autowired + private SchemaLocationsBean schemaLocationsBean; + + @SuppressWarnings("unchecked") + @Before + public void init() throws Exception { + eventPolicyConfig = new EntityEventPolicyConfig(); + eventPolicyConfig.setSearchKeystorePwd("password"); + eventPolicyConfig.setSourceDomain("JUNIT"); + + eventPolicyConfig.setSchemaVersions(schemaVersions); + eventPolicyConfig.setSchemaLocationsBean(schemaLocationsBean); + + searchDb = new InMemorySearchDatastore(); + policy = new EntityEventPolicyStubbed(eventPolicyConfig).withSearchDb(searchDb); + + 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(searchDb.get(NodeUtils.generateUniqueShaDigest("event1"))); + assertNotNull(searchDb.get(NodeUtils.generateUniqueShaDigest("event2"))); + + policy.process(getExchangeEvent("event1", "update")); + policy.process(getExchangeEvent("event2", "update")); + assertNotNull(searchDb.get(NodeUtils.generateUniqueShaDigest("event1"))); + assertNotNull(searchDb.get(NodeUtils.generateUniqueShaDigest("event2"))); + + policy.process(getExchangeEvent("event2", "delete")); + assertNull(searchDb.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; + + } + + }