1 package org.openecomp.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.openecomp.datarouter.util.NodeUtils;
16 import org.openecomp.datarouter.util.SearchServiceAgent;
17 import org.powermock.api.mockito.PowerMockito;
21 public class EntityEventPolicyTest {
22 EntityEventPolicy policy;
25 @SuppressWarnings("unchecked")
27 public void init() throws Exception {
28 EntityEventPolicyConfig config = PowerMockito.mock(EntityEventPolicyConfig.class);
29 PowerMockito.when(config.getSearchKeystorePwd()).thenReturn("password");
30 PowerMockito.when(config.getSourceDomain()).thenReturn("JUNIT");
33 SearchServiceAgent searchServiceAgent = PowerMockito.mock(SearchServiceAgent.class);
35 PowerMockito.whenNew(SearchServiceAgent.class).withAnyArguments().thenReturn(searchServiceAgent);
38 policy = new EntityEventPolicyStubbed(config);
39 FileInputStream event = new FileInputStream( new File("src/test/resources/aai_event.json"));
40 eventJson = IOUtils.toString(event, "UTF-8");
45 public void testProcess() throws Exception {
46 policy.process(getExchangeEvent("event1","create"));
47 policy.process(getExchangeEvent("event2","create"));
49 assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event1")));
50 assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event2")));
52 policy.process(getExchangeEvent("event1","update"));
53 policy.process(getExchangeEvent("event2","update"));
54 assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event1")));
55 assertNotNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event2")));
57 policy.process(getExchangeEvent("event2","delete"));
58 assertNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("event2")));
61 private Exchange getExchangeEvent(String link,String action){
62 Object obj = eventJson.replace("$LINK",link ).replace("$ACTION",action) ;
63 Exchange exchange = PowerMockito.mock(Exchange.class);
64 Message inMessage = PowerMockito.mock(Message.class);
65 Message outMessage = PowerMockito.mock(Message.class);
66 PowerMockito.when(exchange.getIn()).thenReturn(inMessage);
67 PowerMockito.when(inMessage.getBody()).thenReturn(obj);
69 PowerMockito.when(exchange.getOut()).thenReturn(outMessage);
70 PowerMockito.doNothing().when(outMessage).setBody(anyObject());
71 PowerMockito.doNothing().when(outMessage).setHeader(anyString(), anyObject());