X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-node%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fnode%2FDeliveryTest.java;h=25830cdd02393ad3158910266cddc6c9f24ccb4a;hb=8552e04175c7091d0d748e0c0f4b14a0d9321b40;hp=8a7460e8fa7269baae7670dff99efffb0143db0f;hpb=bdeb5f44dc6811518884228c2ae4397a9323c9f4;p=dmaap%2Fdatarouter.git diff --git a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/DeliveryTest.java b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/DeliveryTest.java index 8a7460e8..25830cdd 100644 --- a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/DeliveryTest.java +++ b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/DeliveryTest.java @@ -22,83 +22,126 @@ ******************************************************************************/ package org.onap.dmaap.datarouter.node; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.Hashtable; import org.apache.commons.lang3.reflect.FieldUtils; import org.junit.After; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; +import org.onap.dmaap.datarouter.node.Delivery.DelItem; import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor; import org.powermock.modules.junit4.PowerMockRunner; -import java.io.File; -import java.io.IOException; -import java.util.Hashtable; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - @RunWith(PowerMockRunner.class) @SuppressStaticInitializationFor("org.onap.dmaap.datarouter.node.NodeConfigManager") +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*"}) public class DeliveryTest { - @Mock - private DeliveryQueue deliveryQueue; + @Mock + private DeliveryQueue deliveryQueue; + @Mock + private NodeConfigManager config; + private File nDir = new File("tmp/n"); + private File newNDir = new File("tmp/n/0"); + private File newNFile = new File("tmp/n/0/testN.txt"); + private File sDir = new File("tmp/s"); + private File newSDir = new File("tmp/s/0/1"); + private File newSpoolFile = new File("tmp/s/0/1/123456789.dmaap-dr-node"); + private File spoolFileMeta = new File("tmp/s/0/1/123456789.dmaap-dr-node.M"); + + @Before + public void setUp() throws IOException { + nDir.mkdirs(); + sDir.mkdirs(); + newNDir.mkdirs(); + newNFile.createNewFile(); + newSDir.mkdirs(); + newSpoolFile.createNewFile(); + spoolFileMeta.createNewFile(); + config = mockNodeConfigManager(); + } + + @Test + public void Validate_Reset_Queue_Calls_Reset_Queue_On_Delivery_Queue_Object() throws IllegalAccessException { + Delivery delivery = new Delivery(config); + HashMap dqs = new HashMap<>(); + dqs.put("tmp/s/0/1", deliveryQueue); + FieldUtils.writeDeclaredField(delivery, "dqs", dqs, true); + delivery.resetQueue("tmp/s/0/1"); + verify(deliveryQueue, times(1)).resetQueue(); + } - private File nDir = new File("tmp/n"); - private File sDir = new File("tmp/s"); + @Test + public void Validate_Mark_Success_Calls_Mark_Success_On_Delivery_Queue_Object() throws IllegalAccessException { + Delivery delivery = new Delivery(config); + HashMap dqs = new HashMap<>(); + dqs.put("tmp/s/0/1", deliveryQueue); + FieldUtils.writeDeclaredField(delivery, "dqs", dqs, true); + delivery.markTaskSuccess("tmp/s/0/1", "123456789.dmaap-dr-node"); + verify(deliveryQueue, times(1)).markTaskSuccess("123456789.dmaap-dr-node"); + } - @Before - public void setUp() throws IOException { - nDir.mkdirs(); - sDir.mkdirs(); - File newNDir = new File("tmp/n/0"); - newNDir.mkdirs(); - File newNFile = new File("tmp/n/0/testN.txt"); - newNFile.createNewFile(); - File newSDir = new File("tmp/s/0/1"); - newSDir.mkdirs(); - File newSpoolFile = new File("tmp/s/0/1/testSpool.txt"); - newSpoolFile.createNewFile(); - } + @Test + public void Validate_DelItem_With_Equal_Spool_And_PubId_Are_Equal() { + DelItem delItem1 = new DelItem("123456789.dmaap-dr-node", "tmp/s/0/1"); + DelItem delItem2 = new DelItem("123456789.dmaap-dr-node", "tmp/s/0/1"); + Assert.assertEquals(delItem1, delItem2); + Assert.assertEquals(0, delItem1.compareTo(delItem2)); + } - @Test - public void Validate_Reset_Queue_Calls_Reset_Queue_On_Delivery_Queue_Object() throws IllegalAccessException { - NodeConfigManager config = mockNodeConfigManager(); - Delivery delivery = new Delivery(config); - Hashtable dqs = new Hashtable<>(); - dqs.put("spool/s/0/1", deliveryQueue); - FieldUtils.writeDeclaredField(delivery, "dqs", dqs, true); - delivery.resetQueue("spool/s/0/1"); - verify(deliveryQueue, times(1)).resetQueue(); - } + @Test + public void Validate_DelItem_With_Unequal_Spool_And_PubId_Are_Not_Equal() { + DelItem delItem1 = new DelItem("123456789.dmaap-dr-node", "tmp/s/0/1"); + DelItem delItem2 = new DelItem("000000000.dmaap-dr-node", "tmp/s/0/2"); + Assert.assertNotEquals(delItem1, delItem2); + Assert.assertNotEquals(0, delItem1.compareTo(delItem2)); + } - @After - public void tearDown() { - nDir.delete(); - sDir.delete(); - File tmpDir = new File("tmp"); - tmpDir.delete(); - } + @After + public void tearDown() { + newSpoolFile.delete(); + spoolFileMeta.delete(); + newNFile.delete(); + newNDir.delete(); + newSDir.delete(); + new File("tmp/s/0").delete(); + nDir.delete(); + sDir.delete(); + File tmpDir = new File("tmp"); + tmpDir.delete(); + } - private NodeConfigManager mockNodeConfigManager() { - PowerMockito.mockStatic(NodeConfigManager.class); - NodeConfigManager config = mock(NodeConfigManager.class); - PowerMockito.when(config.isConfigured()).thenReturn(true); - PowerMockito.when(config.getAllDests()).thenReturn(createDestInfoObjects()); - PowerMockito.when(config.getFreeDiskStart()).thenReturn(0.49); - PowerMockito.when(config.getFreeDiskStop()).thenReturn(0.5); - PowerMockito.when(config.getDeliveryThreads()).thenReturn(0); - PowerMockito.when(config.getSpoolBase()).thenReturn("tmp"); - return config; - } + private NodeConfigManager mockNodeConfigManager() { + NodeConfigManager config = mock(NodeConfigManager.class); + PowerMockito.when(config.isConfigured()).thenReturn(true); + PowerMockito.when(config.getAllDests()).thenReturn(createDestInfoObjects()); + PowerMockito.when(config.getFreeDiskStart()).thenReturn(0.9); + PowerMockito.when(config.getFreeDiskStop()).thenReturn(0.2); + PowerMockito.when(config.getDeliveryThreads()).thenReturn(0); + PowerMockito.when(config.getSpoolBase()).thenReturn("tmp"); + return config; + } - private DestInfo[] createDestInfoObjects() { - DestInfo[] destInfos = new DestInfo[1]; - DestInfo destInfo = new DestInfo("node.datarouternew.com", "spool/s/0/1", "1", "logs/", "/subs/1", "user1", "Basic dXNlcjE6cGFzc3dvcmQx", false, true); - destInfos[0] = destInfo; - return destInfos; - } + private DestInfo[] createDestInfoObjects() { + DestInfo[] destInfos = new DestInfo[1]; + DestInfo destInfo = new DestInfoBuilder().setName("node.datarouternew.com").setSpool("tmp/s/0/1") + .setSubid("1") + .setLogdata("logs/").setUrl("/subs/1").setAuthuser("user1") + .setAuthentication("Basic dXNlcjE6cGFzc3dvcmQx") + .setMetaonly(false).setUse100(true).setPrivilegedSubscriber(false).setFollowRedirects(false) + .setDecompress(false).createDestInfo(); + destInfos[0] = destInfo; + return destInfos; + } }