From 173a07c146746f85c17f2d58f2ded84b99818f9a Mon Sep 17 00:00:00 2001 From: Sunil Unnava Date: Tue, 6 Mar 2018 11:41:18 -0500 Subject: testcases for code coverage Issue-ID: DMAAP-271 Change-Id: I9b11a61d1098598f8dc6c687a10ebf765128d977 Signed-off-by: Sunil Unnava --- .../com/att/nsa/mr/tools/MessageCommandTest.java | 157 +++++++++++++++++---- 1 file changed, 127 insertions(+), 30 deletions(-) (limited to 'src/test/java/com/att/nsa/mr/tools/MessageCommandTest.java') diff --git a/src/test/java/com/att/nsa/mr/tools/MessageCommandTest.java b/src/test/java/com/att/nsa/mr/tools/MessageCommandTest.java index f0933d6..638d067 100644 --- a/src/test/java/com/att/nsa/mr/tools/MessageCommandTest.java +++ b/src/test/java/com/att/nsa/mr/tools/MessageCommandTest.java @@ -22,32 +22,53 @@ package com.att.nsa.mr.tools; import static org.junit.Assert.assertTrue; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintStream; -import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; import com.att.nsa.cmdtool.CommandNotReadyException; -import com.att.nsa.mr.client.HostSelector; -import com.att.nsa.mr.client.MRPublisher.message; -import com.att.nsa.mr.test.support.MRBatchingPublisherMock.Entry; +import com.att.nsa.mr.client.MRBatchingPublisher; +import com.att.nsa.mr.client.MRClientFactory; +import com.att.nsa.mr.client.MRConsumer; +import com.att.nsa.mr.client.MRTopicManager.TopicInfo; +@RunWith(PowerMockRunner.class) +@PrepareForTest({ MRClientFactory.class, ToolsUtil.class }) public class MessageCommandTest { - private MessageCommand command = null; - private String[] parts = new String[5]; + @InjectMocks + private MessageCommand command; + @Mock + private MRConsumer tm; + @Mock + private TopicInfo ti; + @Mock + private MRBatchingPublisher pub; + @Mock + private MRConsumer cc; + @Mock + private PrintStream printStream; @Before public void setUp() throws Exception { - command = new MessageCommand(); - - for (int i = 0; i < parts.length; i++) { - parts[i] = "String" + (i + 1); - } + MockitoAnnotations.initMocks(this); + PowerMockito.mockStatic(MRClientFactory.class); + PowerMockito.mockStatic(ToolsUtil.class); + PowerMockito.when(MRClientFactory.createConsumer(Arrays.asList("localhost"), "testtopic", "2", "3", -1, -1, + null, null, null)).thenReturn(cc); } @@ -63,7 +84,7 @@ public class MessageCommandTest { assertTrue(true); } - + @Test public void testCheckReady() { @@ -76,42 +97,118 @@ public class MessageCommandTest { assertTrue(true); } - + @Test public void testExecute() { - + + String[] parts1 = { "read", "testtopic", "2", "3" }; + String[] parts2 = { "write", "testtopic", "2", "3" }; + List parts = Arrays.asList(parts1, parts2); + for (Iterator iterator = parts.iterator(); iterator.hasNext();) { + String[] part = (String[]) iterator.next(); + + MRCommandContext context = new MRCommandContext(); + PowerMockito.when(ToolsUtil.createBatchPublisher(context, "testtopic")).thenReturn(pub); + try { + command.execute(part, context, printStream); + } catch (CommandNotReadyException e) { + assertTrue(true); + } + } + assertTrue(true); + + } + + @Test + public void testExecute_error1() { try { - command.execute(parts, new MRCommandContext(), new PrintStream("/filename")); - } catch (CommandNotReadyException e) { + PowerMockito.doThrow(new Exception()).when(cc).fetch(); + } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (FileNotFoundException e) { + } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } + String[] parts1 = { "read", "testtopic", "2", "3" }; + String[] parts2 = { "write", "testtopic", "2", "3" }; + List parts = Arrays.asList(parts1, parts2); + for (Iterator iterator = parts.iterator(); iterator.hasNext();) { + String[] part = (String[]) iterator.next(); + + MRCommandContext context = new MRCommandContext(); + PowerMockito.when(ToolsUtil.createBatchPublisher(context, "testtopic")).thenReturn(pub); + try { + command.execute(part, context, printStream); + } catch (CommandNotReadyException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } assertTrue(true); } - - + @Test - public void testDisplayHelp() { - + public void testExecute_error2() { try { - command.displayHelp(new PrintStream("/filename")); - } catch (NullPointerException e) { + PowerMockito.doThrow(new IOException()).when(pub).close(500, TimeUnit.MILLISECONDS); + PowerMockito.doThrow(new IOException()).when(pub).send("2", "3"); + + } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (FileNotFoundException e) { + } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } + String[] parts1 = { "read", "testtopic", "2", "3" }; + String[] parts2 = { "write", "testtopic", "2", "3" }; + List parts = Arrays.asList(parts1, parts2); + for (Iterator iterator = parts.iterator(); iterator.hasNext();) { + String[] part = (String[]) iterator.next(); + + MRCommandContext context = new MRCommandContext(); + PowerMockito.when(ToolsUtil.createBatchPublisher(context, "testtopic")).thenReturn(pub); + try { + command.execute(part, context, printStream); + } catch (CommandNotReadyException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } assertTrue(true); } - - - - - + + /* + * @Test public void testExecute_error3() { + * + * try { PowerMockito.doThrow(new IOException()).when(pub).send("2", "3"); + * PowerMockito.doThrow(new InterruptedException()).when(pub).close(500, + * TimeUnit.MILLISECONDS); } catch (IOException e) { // TODO Auto-generated + * catch block e.printStackTrace(); } catch (InterruptedException e) { // + * TODO Auto-generated catch block e.printStackTrace(); } String[] parts1 = + * { "read", "testtopic", "2", "3" }; String[] parts2 = { "write", + * "testtopic", "2", "3" }; List parts = Arrays.asList(parts1, + * parts2); for (Iterator iterator = parts.iterator(); iterator.hasNext();) + * { String[] part = (String[]) iterator.next(); PrintStream printStream = + * new PrintStream(System.out); + * + * MRCommandContext context = new MRCommandContext(); + * PowerMockito.when(ToolsUtil.createBatchPublisher(context, + * "testtopic")).thenReturn(pub); try { command.execute(part, context, + * printStream); } catch (CommandNotReadyException e) { // TODO + * Auto-generated catch block e.printStackTrace(); } } assertTrue(true); + * + * } + */ + + @Test + public void testDisplayHelp() { + + command.displayHelp(printStream); + + } + } -- cgit 1.2.3-korg