This is an automated email from the ASF dual-hosted git repository.

jinmeiliao pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new f76eeae  GEODE-3539: add tests for ExportStackTraceCommand (#1162)
f76eeae is described below

commit f76eeae1b474cd7a6c86168c8424ab9161e55cee
Author: jinmeiliao <[email protected]>
AuthorDate: Fri Dec 15 09:03:52 2017 -0800

    GEODE-3539: add tests for ExportStackTraceCommand (#1162)
    
    * GEODE-3539: add tests for ExportStackTraceCommand
    
    * add unit tests for the command
    * reworked the DUnit test to use the rules
---
 .../cli/commands/ExportStackTraceCommand.java      |  65 ++---
 .../commands/ExportStackTraceCommandDUnitTest.java | 102 ++++++++
 .../cli/commands/ExportStackTraceCommandTest.java  |  72 ++++++
 .../cli/commands/ShowStackTraceDUnitTest.java      | 269 ---------------------
 .../cli/commands/CommandOverHttpDUnitTest.java     |   3 +-
 5 files changed, 201 insertions(+), 310 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportStackTraceCommand.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportStackTraceCommand.java
index 4f8693d..ddf84dd 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportStackTraceCommand.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportStackTraceCommand.java
@@ -34,11 +34,9 @@ import org.springframework.shell.core.annotation.CliOption;
 import org.apache.geode.cache.execute.ResultCollector;
 import org.apache.geode.distributed.DistributedMember;
 import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.management.cli.CliMetaData;
 import org.apache.geode.management.cli.ConverterHint;
 import org.apache.geode.management.cli.Result;
-import org.apache.geode.management.internal.cli.CliUtil;
 import org.apache.geode.management.internal.cli.domain.StackTracesPerMember;
 import 
org.apache.geode.management.internal.cli.functions.GetStackTracesFunction;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
@@ -51,7 +49,8 @@ public class ExportStackTraceCommand implements GfshCommand {
   private final GetStackTracesFunction getStackTracesFunction = new 
GetStackTracesFunction();
 
   /**
-   * Current implementation supports writing it to a file and returning the 
location of the file
+   * Current implementation supports writing it to a locator/server side file 
and returning the
+   * location of the file
    */
   @CliCommand(value = CliStrings.EXPORT_STACKTRACE, help = 
CliStrings.EXPORT_STACKTRACE__HELP)
   @CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_DEBUG_UTIL})
@@ -68,55 +67,43 @@ public class ExportStackTraceCommand implements GfshCommand 
{
           help = CliStrings.EXPORT_STACKTRACE__FILE__HELP) String fileName,
 
       @CliOption(key = CliStrings.EXPORT_STACKTRACE__FAIL__IF__FILE__PRESENT,
-          unspecifiedDefaultValue = "false",
-          help = CliStrings.EXPORT_STACKTRACE__FAIL__IF__FILE__PRESENT__HELP) 
boolean failIfFilePresent) {
-
-    Result result;
-    StringBuilder filePrefix = new StringBuilder("stacktrace");
+          unspecifiedDefaultValue = "false", specifiedDefaultValue = "true",
+          help = CliStrings.EXPORT_STACKTRACE__FAIL__IF__FILE__PRESENT__HELP) 
boolean failIfFilePresent)
+      throws IOException {
 
     if (fileName == null) {
+      StringBuilder filePrefix = new StringBuilder("stacktrace");
       fileName = 
filePrefix.append("_").append(System.currentTimeMillis()).toString();
     }
     final File outFile = new File(fileName);
-    try {
-      if (outFile.exists() && failIfFilePresent) {
-        return ResultBuilder.createShellClientErrorResult(CliStrings.format(
-            CliStrings.EXPORT_STACKTRACE__ERROR__FILE__PRESENT, 
outFile.getCanonicalPath()));
-      }
-
 
-      InternalCache cache = getCache();
-      InternalDistributedSystem ads = cache.getInternalDistributedSystem();
+    if (outFile.exists() && failIfFilePresent) {
+      return ResultBuilder.createUserErrorResult(CliStrings
+          .format(CliStrings.EXPORT_STACKTRACE__ERROR__FILE__PRESENT, 
outFile.getCanonicalPath()));
+    }
 
-      InfoResultData resultData = ResultBuilder.createInfoResultData();
+    Map<String, byte[]> dumps = new HashMap<>();
+    Set<DistributedMember> targetMembers = getMembers(group, memberNameOrId);
 
-      Map<String, byte[]> dumps = new HashMap<>();
-      Set<DistributedMember> targetMembers = CliUtil.findMembers(group, 
memberNameOrId);
-      if (targetMembers.isEmpty()) {
-        return 
ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
-      }
+    InfoResultData resultData = ResultBuilder.createInfoResultData();
 
-      ResultCollector<?, ?> rc =
-          CliUtil.executeFunction(getStackTracesFunction, null, targetMembers);
-      ArrayList<Object> resultList = (ArrayList<Object>) rc.getResult();
+    ResultCollector<?, ?> rc = executeFunction(getStackTracesFunction, null, 
targetMembers);
+    ArrayList<Object> resultList = (ArrayList<Object>) rc.getResult();
 
-      for (Object resultObj : resultList) {
-        if (resultObj instanceof StackTracesPerMember) {
-          StackTracesPerMember stackTracePerMember = (StackTracesPerMember) 
resultObj;
-          dumps.put(stackTracePerMember.getMemberNameOrId(), 
stackTracePerMember.getStackTraces());
-        }
+    for (Object resultObj : resultList) {
+      if (resultObj instanceof StackTracesPerMember) {
+        StackTracesPerMember stackTracePerMember = (StackTracesPerMember) 
resultObj;
+        dumps.put(stackTracePerMember.getMemberNameOrId(), 
stackTracePerMember.getStackTraces());
       }
+    }
 
-      String filePath = writeStacksToFile(dumps, fileName);
-      
resultData.addLine(CliStrings.format(CliStrings.EXPORT_STACKTRACE__SUCCESS, 
filePath));
-      resultData.addLine(CliStrings.EXPORT_STACKTRACE__HOST + 
ads.getDistributedMember().getHost());
+    InternalDistributedSystem ads = getCache().getInternalDistributedSystem();
+    String filePath = writeStacksToFile(dumps, fileName);
+    
resultData.addLine(CliStrings.format(CliStrings.EXPORT_STACKTRACE__SUCCESS, 
filePath));
+    resultData.addLine(CliStrings.EXPORT_STACKTRACE__HOST + 
ads.getDistributedMember().getHost());
+
+    return ResultBuilder.buildResult(resultData);
 
-      result = ResultBuilder.buildResult(resultData);
-    } catch (IOException ex) {
-      result = ResultBuilder
-          .createGemFireErrorResult(CliStrings.EXPORT_STACKTRACE__ERROR + 
ex.getMessage());
-    }
-    return result;
   }
 
   /***
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportStackTraceCommandDUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportStackTraceCommandDUnitTest.java
new file mode 100644
index 0000000..eb7ed07
--- /dev/null
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportStackTraceCommandDUnitTest.java
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+
+package org.apache.geode.management.internal.cli.commands;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.io.File;
+
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.test.dunit.rules.LocatorServerStartupRule;
+import org.apache.geode.test.dunit.rules.MemberVM;
+import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.rules.GfshCommandRule;
+
+
+@Category(DistributedTest.class)
+public class ExportStackTraceCommandDUnitTest {
+
+  @ClassRule
+  public static LocatorServerStartupRule lsRule = new 
LocatorServerStartupRule();
+
+  @Rule
+  public GfshCommandRule gfsh = new GfshCommandRule();
+
+  private static MemberVM locator;
+
+  @BeforeClass
+  public static void beforeClass() throws Exception {
+    locator = lsRule.startLocatorVM(0);
+    lsRule.startServerVM(1, locator.getPort());
+  }
+
+  @Before
+  public void before() throws Exception {
+    gfsh.connectAndVerify(locator);
+  }
+
+  @Test
+  public void exportStackTrace_no_file() {
+    gfsh.executeAndAssertThat("export stack-traces").statusIsSuccess()
+        .containsOutput("stack-trace(s) exported to file").containsOutput("On 
host : ");
+    File[] files = locator.getWorkingDir().listFiles(x -> 
x.getName().startsWith("stacktrace_"));
+    assertThat(files.length).isEqualTo(1);
+    // delete this file afterwards so that we won't pollute the other tests in 
this class
+    files[0].delete();
+  }
+
+  @Test
+  public void exportStackTrace_on_one_member() {
+    gfsh.executeAndAssertThat("export stack-traces 
--member=server-1").statusIsSuccess()
+        .containsOutput("stack-trace(s) exported to file").containsOutput("On 
host : ");
+    File[] files = locator.getWorkingDir().listFiles(x -> 
x.getName().startsWith("stacktrace_"));
+    assertThat(files.length).isEqualTo(1);
+    // delete this file afterwards so that we won't pollute the other tests in 
this class
+    files[0].delete();
+  }
+
+  @Test
+  public void exportStackTrace_with_file() {
+    File stackTraceFile = new File(locator.getWorkingDir(), "my_file");
+    gfsh.executeAndAssertThat("export stack-traces --file=" + 
stackTraceFile.getAbsolutePath())
+        .statusIsSuccess().containsOutput("stack-trace(s) exported to file");
+
+    // make sure file exists afterwards
+    File[] files = locator.getWorkingDir().listFiles(x -> 
x.getName().startsWith("my_file"));
+    assertThat(files.length).isEqualTo(1);
+
+    // execute the command again with the abort flag
+    gfsh.executeAndAssertThat(
+        "export stack-traces --abort-if-file-exists --file=" + 
stackTraceFile.getAbsolutePath())
+        .statusIsError().containsOutput("already present");
+
+    // execute the command again without the abort flag
+    gfsh.executeAndAssertThat("export stack-traces --file=" + 
stackTraceFile.getAbsolutePath())
+        .statusIsSuccess().containsOutput("stack-trace(s) exported to file");
+    // make sure the file is overwritten
+    files = locator.getWorkingDir().listFiles(x -> 
x.getName().startsWith("my_file"));
+    assertThat(files.length).isEqualTo(1);
+
+    // delete this file afterwards so that we won't pollute the other tests in 
this class
+    files[0].delete();
+  }
+}
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportStackTraceCommandTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportStackTraceCommandTest.java
new file mode 100644
index 0000000..521e50d
--- /dev/null
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportStackTraceCommandTest.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+
+package org.apache.geode.management.internal.cli.commands;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collections;
+
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.rules.TemporaryFolder;
+
+import org.apache.geode.test.junit.categories.UnitTest;
+import org.apache.geode.test.junit.rules.GfshParserRule;
+
+
+@Category(UnitTest.class)
+public class ExportStackTraceCommandTest {
+
+  @ClassRule
+  public static GfshParserRule gfsh = new GfshParserRule();
+
+  @Rule
+  public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+  private ExportStackTraceCommand command;
+
+  @Before
+  public void before() {
+    command = spy(ExportStackTraceCommand.class);
+  }
+
+  @Test
+  public void noMemberFound() {
+    doReturn(Collections.emptySet()).when(command).findMembers(any(), any());
+    gfsh.executeAndAssertThat(command, "export stack-traces").statusIsError()
+        .containsOutput("No Members Found");
+  }
+
+  @Test
+  public void abortIfFileExists() throws IOException {
+    File file = temporaryFolder.newFile("stackTrace.txt");
+    gfsh.executeAndAssertThat(command,
+        "export stack-traces --abort-if-file-exists --file=" + 
file.getAbsolutePath())
+        .statusIsError().containsOutput("already present");
+
+    // try again without the flag, the command should continue after the check
+    doReturn(Collections.emptySet()).when(command).findMembers(any(), any());
+    gfsh.executeAndAssertThat(command, "export stack-traces --file=" + 
file.getAbsolutePath())
+        .statusIsError().containsOutput("No Members Found");
+  }
+}
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowStackTraceDUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowStackTraceDUnitTest.java
deleted file mode 100644
index b8b96be..0000000
--- 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowStackTraceDUnitTest.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
- * agreements. See the NOTICE file distributed with this work for additional 
information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the 
License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software 
distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
- * or implied. See the License for the specific language governing permissions 
and limitations under
- * the License.
- */
-package org.apache.geode.management.internal.cli.commands;
-
-import static 
org.apache.geode.distributed.ConfigurationProperties.ENABLE_TIME_STATISTICS;
-import static org.apache.geode.distributed.ConfigurationProperties.GROUPS;
-import static org.apache.geode.distributed.ConfigurationProperties.LOG_LEVEL;
-import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
-import static org.apache.geode.distributed.ConfigurationProperties.NAME;
-import static 
org.apache.geode.distributed.ConfigurationProperties.STATISTIC_SAMPLING_ENABLED;
-import static org.apache.geode.test.dunit.Assert.assertFalse;
-import static org.apache.geode.test.dunit.Assert.assertTrue;
-import static org.apache.geode.test.dunit.LogWriterUtils.getLogWriter;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Properties;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TemporaryFolder;
-
-import org.apache.geode.management.cli.Result.Status;
-import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.cli.json.GfJsonException;
-import org.apache.geode.management.internal.cli.result.CommandResult;
-import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
-import org.apache.geode.test.dunit.Host;
-import org.apache.geode.test.dunit.SerializableRunnable;
-import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.junit.categories.DistributedTest;
-import org.apache.geode.test.junit.categories.FlakyTest;
-import 
org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
-
-/**
- * DUnit test for 'show stack-trace' command
- */
-@Category({DistributedTest.class, FlakyTest.class}) // GEODE-3530
-@SuppressWarnings("serial")
-public class ShowStackTraceDUnitTest extends CliCommandTestBase {
-
-  @Rule
-  public TemporaryFolder workDirectory = new SerializableTemporaryFolder();
-
-  private void createCache(Properties props) {
-    getSystem(props);
-    getCache();
-  }
-
-  private Properties createProperties(Host host, String name, String groups) {
-    Properties props = new Properties();
-    props.setProperty(MCAST_PORT, "0");
-    props.setProperty(LOG_LEVEL, "info");
-    props.setProperty(STATISTIC_SAMPLING_ENABLED, "true");
-    props.setProperty(ENABLE_TIME_STATISTICS, "true");
-    props.setProperty(NAME, name);
-    props.setProperty(GROUPS, groups);
-    return props;
-  }
-
-  /***
-   * Sets up a system of 3 peers
-   */
-  private void setupSystem() {
-    disconnectAllFromDS();
-    final Host host = Host.getHost(0);
-    final VM[] servers = {host.getVM(0), host.getVM(1)};
-
-    final Properties propsManager = createProperties(host, "Manager", "G1");
-    final Properties propsServer2 = createProperties(host, "Server", "G2");
-
-    setUpJmxManagerOnVm0ThenConnect(propsManager);
-
-    servers[1].invoke(new SerializableRunnable("Create cache for server1") {
-      public void run() {
-        createCache(propsServer2);
-      }
-    });
-  }
-
-  /***
-   * Tests the default behavior of the show stack-trace command
-   *
-   * @throws ClassNotFoundException
-   * @throws IOException
-   */
-  @Test
-  public void testExportStacktrace() throws ClassNotFoundException, 
IOException {
-    setupSystem();
-
-    File allStacktracesFile = workDirectory.newFile("allStackTraces.txt");
-    CommandStringBuilder csb = new 
CommandStringBuilder(CliStrings.EXPORT_STACKTRACE);
-    csb.addOption(CliStrings.EXPORT_STACKTRACE__FILE, 
allStacktracesFile.getCanonicalPath());
-    String commandString = csb.toString();
-    getLogWriter().info("CommandString : " + commandString);
-    CommandResult commandResult = executeCommand(commandString);
-    getLogWriter().info("Output : \n" + commandResultToString(commandResult));
-    assertTrue(commandResult.getStatus().equals(Status.OK));
-
-    File mgrStacktraceFile = workDirectory.newFile("managerStacktrace.txt");
-    csb = new CommandStringBuilder(CliStrings.EXPORT_STACKTRACE);
-    csb.addOption(CliStrings.EXPORT_STACKTRACE__FILE, 
mgrStacktraceFile.getCanonicalPath());
-    csb.addOption(CliStrings.MEMBER, "Manager");
-    commandString = csb.toString();
-    getLogWriter().info("CommandString : " + commandString);
-    commandResult = executeCommand(commandString);
-    getLogWriter().info("Output : \n" + commandResultToString(commandResult));
-    assertTrue(commandResult.getStatus().equals(Status.OK));
-
-    File serverStacktraceFile = workDirectory.newFile("serverStacktrace.txt");
-    csb = new CommandStringBuilder(CliStrings.EXPORT_STACKTRACE);
-    csb.addOption(CliStrings.EXPORT_STACKTRACE__FILE, 
serverStacktraceFile.getCanonicalPath());
-    csb.addOption(CliStrings.MEMBER, "Server");
-    commandString = csb.toString();
-    getLogWriter().info("CommandString : " + commandString);
-    commandResult = executeCommand(commandString);
-    getLogWriter().info("Output : \n" + commandResultToString(commandResult));
-    assertTrue(commandResult.getStatus().equals(Status.OK));
-
-    File groupStacktraceFile = workDirectory.newFile("groupstacktrace.txt");
-    csb = new CommandStringBuilder(CliStrings.EXPORT_STACKTRACE);
-    csb.addOption(CliStrings.EXPORT_STACKTRACE__FILE, 
groupStacktraceFile.getCanonicalPath());
-    csb.addOption(CliStrings.GROUP, "G2");
-    commandString = csb.toString();
-    getLogWriter().info("CommandString : " + commandString);
-    commandResult = executeCommand(commandString);
-    getLogWriter().info("Output : \n" + commandResultToString(commandResult));
-    assertTrue(commandResult.getStatus().equals(Status.OK));
-
-    File wrongStackTraceFile = workDirectory.newFile("wrongStackTrace.txt");
-    csb = new CommandStringBuilder(CliStrings.EXPORT_STACKTRACE);
-    csb.addOption(CliStrings.EXPORT_STACKTRACE__FILE, 
wrongStackTraceFile.getCanonicalPath());
-    csb.addOption(CliStrings.MEMBER, "WrongMember");
-    commandString = csb.toString();
-    getLogWriter().info("CommandString : " + commandString);
-    commandResult = executeCommand(commandString);
-    getLogWriter().info("Output : \n" + commandResultToString(commandResult));
-    assertFalse(commandResult.getStatus().equals(Status.OK));
-  }
-
-  /***
-   * Tests the behavior of the show stack-trace command to verify that files 
with any extension are
-   * allowed Refer: GEODE-734
-   *
-   * @throws ClassNotFoundException
-   * @throws IOException
-   */
-  @Test
-  public void testExportStacktraceWithNonTXTFile() throws 
ClassNotFoundException, IOException {
-    setupSystem();
-
-    // Test non txt extension file is allowed
-    File stacktracesFile = workDirectory.newFile("allStackTraces.log");
-    CommandStringBuilder commandStringBuilder =
-        new CommandStringBuilder(CliStrings.EXPORT_STACKTRACE);
-    commandStringBuilder.addOption(CliStrings.EXPORT_STACKTRACE__FILE,
-        stacktracesFile.getCanonicalPath());
-    String exportCommandString = commandStringBuilder.toString();
-    getLogWriter().info("CommandString : " + exportCommandString);
-    CommandResult exportCommandResult = executeCommand(exportCommandString);
-    getLogWriter().info("Output : \n" + 
commandResultToString(exportCommandResult));
-    assertTrue(exportCommandResult.getStatus().equals(Status.OK));
-
-    // test file with-out any extension
-    File allStacktracesFile = workDirectory.newFile("allStackTraces");
-    commandStringBuilder = new 
CommandStringBuilder(CliStrings.EXPORT_STACKTRACE);
-    commandStringBuilder.addOption(CliStrings.EXPORT_STACKTRACE__FILE,
-        allStacktracesFile.getCanonicalPath());
-    exportCommandString = commandStringBuilder.toString();
-    getLogWriter().info("CommandString : " + exportCommandString);
-    exportCommandResult = executeCommand(exportCommandString);
-    getLogWriter().info("Output : \n" + 
commandResultToString(exportCommandResult));
-    assertTrue(exportCommandResult.getStatus().equals(Status.OK));
-  }
-
-  /***
-   * Tests the behavior of the show stack-trace command when file is already 
present and
-   * abort-if-file-exists option is set to false(which is default). As a 
result it should overwrite
-   * the file and return OK status
-   *
-   * @throws ClassNotFoundException
-   * @throws IOException
-   */
-  @Test
-  public void testExportStacktraceWhenFilePresent() throws 
ClassNotFoundException, IOException {
-    setupSystem();
-
-    // test pass although file present
-    File stacktracesFile = workDirectory.newFile("allStackTraces.log");
-    CommandStringBuilder commandStringBuilder =
-        new CommandStringBuilder(CliStrings.EXPORT_STACKTRACE);
-    commandStringBuilder.addOption(CliStrings.EXPORT_STACKTRACE__FILE,
-        stacktracesFile.getCanonicalPath());
-    String exportCommandString = commandStringBuilder.toString();
-    getLogWriter().info("CommandString : " + exportCommandString);
-    CommandResult exportCommandResult = executeCommand(exportCommandString);
-    getLogWriter().info("Output : \n" + 
commandResultToString(exportCommandResult));
-    assertTrue(exportCommandResult.getStatus().equals(Status.OK));
-
-  }
-
-  /***
-   * Tests the behavior of the show stack-trace command when file is already 
present and when
-   * abort-if-file-exists option is set to true. As a result it should fail 
with ERROR status
-   *
-   * @throws ClassNotFoundException
-   * @throws IOException
-   */
-  @Test
-  public void testExportStacktraceFilePresentWithAbort()
-      throws ClassNotFoundException, IOException, GfJsonException {
-    setupSystem();
-
-    File stacktracesFile = workDirectory.newFile("allStackTraces.log");
-    CommandStringBuilder commandStringBuilder =
-        new CommandStringBuilder(CliStrings.EXPORT_STACKTRACE);
-    commandStringBuilder.addOption(CliStrings.EXPORT_STACKTRACE__FILE,
-        stacktracesFile.getCanonicalPath());
-    
commandStringBuilder.addOption(CliStrings.EXPORT_STACKTRACE__FAIL__IF__FILE__PRESENT,
-        Boolean.TRUE.toString());
-    String exportCommandString = commandStringBuilder.toString();
-    getLogWriter().info("CommandString : " + exportCommandString);
-    CommandResult exportCommandResult = executeCommand(exportCommandString);
-    getLogWriter().info("Output : \n" + 
commandResultToString(exportCommandResult));
-    assertTrue(exportCommandResult.getStatus().equals(Status.ERROR));
-    assertTrue(((String) exportCommandResult.getResultData().getGfJsonObject()
-        .getJSONObject("content").getJSONArray("message").get(0))
-            .contains("file " + stacktracesFile.getCanonicalPath() + " already 
present"));
-  }
-
-  /***
-   * Tests the behavior of the show stack-trace command when file option is 
not provided File should
-   * get auto-generated
-   *
-   * @throws ClassNotFoundException
-   * @throws IOException
-   */
-  @Test
-  public void testExportStacktraceAutoGenerateFile()
-      throws ClassNotFoundException, IOException, GfJsonException {
-    setupSystem();
-
-    // test auto generated file when file name is not provided
-    CommandStringBuilder commandStringBuilder =
-        new CommandStringBuilder(CliStrings.EXPORT_STACKTRACE);
-    String exportCommandString = commandStringBuilder.toString();
-    getLogWriter().info("CommandString : " + exportCommandString);
-    CommandResult exportCommandResult = executeCommand(exportCommandString);
-    getLogWriter().info("Output : \n" + 
commandResultToString(exportCommandResult));
-    assertTrue(exportCommandResult.getStatus().equals(Status.OK));
-    assertTrue(
-        ((String) 
exportCommandResult.getResultData().getGfJsonObject().getJSONObject("content")
-            .getJSONArray("message").get(0)).contains("stack-trace(s) exported 
to file:"));
-
-  }
-}
diff --git 
a/geode-web/src/test/java/org/apache/geode/management/internal/cli/commands/CommandOverHttpDUnitTest.java
 
b/geode-web/src/test/java/org/apache/geode/management/internal/cli/commands/CommandOverHttpDUnitTest.java
index 99f0b10..3ce3e5a 100644
--- 
a/geode-web/src/test/java/org/apache/geode/management/internal/cli/commands/CommandOverHttpDUnitTest.java
+++ 
b/geode-web/src/test/java/org/apache/geode/management/internal/cli/commands/CommandOverHttpDUnitTest.java
@@ -29,8 +29,7 @@ import org.apache.geode.test.junit.runners.SuiteRunner;
  */
 @Category({DistributedTest.class, SecurityTest.class})
 @RunWith(SuiteRunner.class)
[email protected]({GemfireDataCommandsDUnitTest.class, 
ShellCommandsDUnitTest.class,
-    ShowStackTraceDUnitTest.class})
[email protected]({GemfireDataCommandsDUnitTest.class, 
ShellCommandsDUnitTest.class})
 public class CommandOverHttpDUnitTest {
   @ClassRule
   public static ProvideSystemProperty provideSystemProperty =

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to