1 package org.onap.aai.datarouter.policy;
3 import static org.junit.Assert.*;
4 import static org.mockito.Matchers.anyObject;
5 import static org.mockito.Matchers.anyString;
8 import java.io.FileInputStream;
10 import org.apache.camel.Exchange;
11 import org.apache.camel.Message;
12 import org.apache.commons.io.IOUtils;
13 import org.junit.Before;
14 import org.junit.Test;
15 import org.onap.aai.datarouter.policy.EntityEventPolicy;
16 import org.onap.aai.datarouter.policy.EntityEventPolicyConfig;
17 import org.onap.aai.datarouter.util.NodeUtils;
18 import org.onap.aai.datarouter.util.SearchServiceAgent;
19 import org.powermock.api.mockito.PowerMockito;
23 public class EntityEventPolicyTest {
24 EntityEventPolicy policy;
27 @SuppressWarnings("unchecked")
29 public void init() throws Exception {
30 EntityEventPolicyConfig config = PowerMockito.mock(EntityEventPolicyConfig.class);
31 PowerMockito.when(config.getSearchKeystorePwd()).thenReturn("password");
32 PowerMockito.when(config.getSourceDomain()).thenReturn("JUNIT");
35 SearchServiceAgent searchServiceAgent = PowerMockito.mock(SearchServiceAgent.class);
37 PowerMockito.whenNew(SearchServiceAgent.class).withAnyArguments().thenReturn(searchServiceAgent);
40 policy = new EntityEventPolicyStubbed(config);
41 FileInputStream event = new FileInputStream( new File("src/test/resources/aai_event.json"));
42 eventJson = IOUtils.toString(event, "UTF-8");
47 public void testProcess() throws Exception {
48 policy.process(getExchangeEvent("event1","create"));
49 policy.process(getExchangeEvent("event2","create"));
51 assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event1")));
52 assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event2")));
54 policy.process(getExchangeEvent("event1","update"));
55 policy.process(getExchangeEvent("event2","update"));
56 assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event1")));
57 assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event2")));
59 policy.process(getExchangeEvent("event2","delete"));
60 assertNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event2")));
63 private Exchange getExchangeEvent(String link,String action){
64 Object obj = eventJson.replace("$LINK",link ).replace("$ACTION",action) ;
65 Exchange exchange = PowerMockito.mock(Exchange.class);
66 Message inMessage = PowerMockito.mock(Message.class);
67 Message outMessage = PowerMockito.mock(Message.class);
68 PowerMockito.when(exchange.getIn()).thenReturn(inMessage);
69 PowerMockito.when(inMessage.getBody()).thenReturn(obj);
71 PowerMockito.when(exchange.getOut()).thenReturn(outMessage);
72 PowerMockito.doNothing().when(outMessage).setBody(anyObject());
73 PowerMockito.doNothing().when(outMessage).setHeader(anyString(), anyObject());