diff options
author | Attaranasl, Salma (sa669h) <salma.attaran@amdocs.com> | 2018-03-08 11:58:02 -0500 |
---|---|---|
committer | Attaranasl, Salma (sa669h) <salma.attaran@amdocs.com> | 2018-03-08 12:34:36 -0500 |
commit | 4c416b0e0059370184f77991481f61d779eccd80 (patch) | |
tree | 53317fb0f1969a37b3f85605335cd2631c03e4b2 /src/test/java | |
parent | f8406ed04830d9b75d842dff3fb95dc3d44866ee (diff) |
added Spike event Policy
to read from Spike Event and save the index on Search Data
removed the extra header on a file:
Issue-ID: AAI-846
Change-Id: I5fa66b5c6b0b6b2f645315221fbf2eb1461c5ca7
Signed-off-by: Attaranasl, Salma <salma.attaran@amdocs.com>
Diffstat (limited to 'src/test/java')
-rw-r--r-- | src/test/java/org/onap/aai/datarouter/policy/SpikeEntityEventPolicyStubbed.java | 34 | ||||
-rw-r--r-- | src/test/java/org/onap/aai/datarouter/policy/SpikeEntityEventPolicyTest.java | 90 |
2 files changed, 124 insertions, 0 deletions
diff --git a/src/test/java/org/onap/aai/datarouter/policy/SpikeEntityEventPolicyStubbed.java b/src/test/java/org/onap/aai/datarouter/policy/SpikeEntityEventPolicyStubbed.java new file mode 100644 index 0000000..7ba4f06 --- /dev/null +++ b/src/test/java/org/onap/aai/datarouter/policy/SpikeEntityEventPolicyStubbed.java @@ -0,0 +1,34 @@ +package org.onap.aai.datarouter.policy; + +import java.io.FileNotFoundException; + +import org.onap.aai.datarouter.entity.DocumentStoreDataEntity; + +public class SpikeEntityEventPolicyStubbed extends SpikeEntityEventPolicy { + + + public SpikeEntityEventPolicyStubbed(SpikeEntityEventPolicyConfig config) throws FileNotFoundException { + super(config); + + } + + protected void handleSearchServiceOperation(DocumentStoreDataEntity eventEntity, String action, String index) { + //Stub out the actual call to Search Data service and instead store/update documents in memory + try { + switch (action.toLowerCase()) { + case "create": + InMemorySearchDatastore.put(eventEntity.getId(), eventEntity.getAsJson()); // they are executed if variable == c1 + break; + case "update": + InMemorySearchDatastore.put(eventEntity.getId(), eventEntity.getAsJson()); // they are executed if variable == c1 + break; + case "delete": + InMemorySearchDatastore.remove(eventEntity.getId()); // they are executed if variable == c1 + break; + default: + break; + } + } catch (Exception ex) { + } + } +} diff --git a/src/test/java/org/onap/aai/datarouter/policy/SpikeEntityEventPolicyTest.java b/src/test/java/org/onap/aai/datarouter/policy/SpikeEntityEventPolicyTest.java new file mode 100644 index 0000000..fd0d726 --- /dev/null +++ b/src/test/java/org/onap/aai/datarouter/policy/SpikeEntityEventPolicyTest.java @@ -0,0 +1,90 @@ +package org.onap.aai.datarouter.policy; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +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.onap.aai.datarouter.util.NodeUtils; +import org.onap.aai.datarouter.util.SearchServiceAgent; +import org.powermock.api.mockito.PowerMockito; + + + +public class SpikeEntityEventPolicyTest { + SpikeEntityEventPolicy policy; + String eventJson; + + @SuppressWarnings("unchecked") + @Before + public void init() throws Exception { + SpikeEntityEventPolicyConfig config = PowerMockito.mock(SpikeEntityEventPolicyConfig.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 SpikeEntityEventPolicyStubbed(config); + FileInputStream event = new FileInputStream(new File("src/test/resources/spike_event.json")); + eventJson = IOUtils.toString(event, "UTF-8"); + + } + + @Test + public void testProcess_success() throws Exception { + policy.process(getExchangeEvent("12345", "create", "generic-vnf")); + policy.process(getExchangeEvent("23456", "create", "generic-vnf")); + + assertNotNull( + InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("generic-vnf/12345"))); + assertNotNull( + InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("generic-vnf/23456"))); + + + policy.process(getExchangeEvent("23456", "delete", "generic-vnf")); + assertNull(InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("23456"))); + } + @Test + public void testProcess_fail() throws Exception { + policy.process(getExchangeEvent("12345", "create", "NotValid")); + assertNull( + InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("NotValid/12345"))); + + policy.process(getExchangeEvent("", "create", "generic-vnf")); + assertNull( + InMemorySearchDatastore.get(NodeUtils.generateUniqueShaDigest("generic-vnf/"))); + + } + + + private Exchange getExchangeEvent(String key, String action, String type) { + Object obj = eventJson.replace("$KEY", key).replace("$ACTION", action).replace("$TYPE", type); + 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; + + } + + + +} |