router-core 1.3.0 changes
[aai/data-router.git] / src / test / java / org / onap / aai / datarouter / policy / EntityEventPolicyTest.java
index adf8ce2..b76e7ee 100644 (file)
@@ -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;
+
+  }
+
+
 
 }