You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by js...@apache.org on 2017/09/22 21:16:56 UTC

[geode] branch develop updated: GEODE-3618: Move GfshRule into geode-junit

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

jstewart 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 2cb5f92  GEODE-3618: Move GfshRule into geode-junit
2cb5f92 is described below

commit 2cb5f92b1764228d13496be6f2bbb1fdeb112273
Author: Jared Stewart <js...@pivotal.io>
AuthorDate: Thu Sep 14 10:31:17 2017 -0700

    GEODE-3618: Move GfshRule into geode-junit
    
    This closes #781.
---
 .../cli/commands/GfshStartLocatorLogTest.java      |  6 ++--
 .../LauncherLifecycleCommandsDUnitTest.java        |  2 +-
 .../cli/commands/StatusLocatorRealGfshTest.java    |  4 +--
 .../cli/shell/GfshExitCodeStatusCommandsTest.java  |  6 ++--
 .../internal/cli/util/CommandStringBuilder.java    | 10 +++----
 .../internal/cli/commands/CliCommandTestBase.java  |  2 --
 geode-junit/build.gradle                           |  3 +-
 .../geode/test}/rules/RequiresGeodeHome.java       |  2 +-
 .../geode/test}/rules/gfsh/GfshExecution.java      |  2 +-
 .../apache/geode/test}/rules/gfsh/GfshRule.java    | 32 ++++++++++++++--------
 .../apache/geode/test}/rules/gfsh/GfshScript.java  |  8 ++----
 .../geode/test}/rules/gfsh/ProcessLogger.java      |  2 +-
 .../geode/test}/rules/gfsh/StreamGobbler.java      |  2 +-
 13 files changed, 44 insertions(+), 37 deletions(-)

diff --git a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/GfshStartLocatorLogTest.java b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/GfshStartLocatorLogTest.java
index ef4ab93..e73dbb0 100644
--- a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/GfshStartLocatorLogTest.java
+++ b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/GfshStartLocatorLogTest.java
@@ -25,9 +25,9 @@ import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
 import org.apache.geode.internal.AbstractConfig;
-import org.apache.geode.test.dunit.rules.gfsh.GfshExecution;
-import org.apache.geode.test.dunit.rules.gfsh.GfshRule;
-import org.apache.geode.test.dunit.rules.gfsh.GfshScript;
+import org.apache.geode.test.rules.gfsh.GfshExecution;
+import org.apache.geode.test.rules.gfsh.GfshRule;
+import org.apache.geode.test.rules.gfsh.GfshScript;
 import org.apache.geode.test.junit.categories.AcceptanceTest;
 
 @Category(AcceptanceTest.class)
diff --git a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommandsDUnitTest.java b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommandsDUnitTest.java
index f783c5d..a3965ac 100644
--- a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommandsDUnitTest.java
+++ b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommandsDUnitTest.java
@@ -85,7 +85,7 @@ import org.apache.geode.management.internal.cli.i18n.CliStrings;
 import org.apache.geode.management.internal.cli.result.CommandResult;
 import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
 import org.apache.geode.test.dunit.WaitCriterion;
-import org.apache.geode.test.dunit.rules.RequiresGeodeHome;
+import org.apache.geode.test.rules.RequiresGeodeHome;
 import org.apache.geode.test.junit.categories.DistributedTest;
 import org.apache.geode.test.junit.categories.FlakyTest;
 
diff --git a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/StatusLocatorRealGfshTest.java b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/StatusLocatorRealGfshTest.java
index 3a98373..537d994 100644
--- a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/StatusLocatorRealGfshTest.java
+++ b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/StatusLocatorRealGfshTest.java
@@ -18,8 +18,8 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import org.apache.geode.test.dunit.rules.gfsh.GfshRule;
-import org.apache.geode.test.dunit.rules.gfsh.GfshScript;
+import org.apache.geode.test.rules.gfsh.GfshRule;
+import org.apache.geode.test.rules.gfsh.GfshScript;
 import org.apache.geode.test.junit.categories.AcceptanceTest;
 
 @Category(AcceptanceTest.class)
diff --git a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExitCodeStatusCommandsTest.java b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExitCodeStatusCommandsTest.java
index 4087e04..3cf59cb 100755
--- a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExitCodeStatusCommandsTest.java
+++ b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExitCodeStatusCommandsTest.java
@@ -37,9 +37,9 @@ import org.apache.geode.internal.ExitCode;
 import org.apache.geode.internal.process.PidFile;
 import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
 import org.apache.geode.management.internal.cli.util.ThreePhraseGenerator;
-import org.apache.geode.test.dunit.rules.gfsh.GfshExecution;
-import org.apache.geode.test.dunit.rules.gfsh.GfshRule;
-import org.apache.geode.test.dunit.rules.gfsh.GfshScript;
+import org.apache.geode.test.rules.gfsh.GfshExecution;
+import org.apache.geode.test.rules.gfsh.GfshRule;
+import org.apache.geode.test.rules.gfsh.GfshScript;
 import org.apache.geode.test.junit.categories.AcceptanceTest;
 
 // Originally created in response to GEODE-2971
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/util/CommandStringBuilder.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/util/CommandStringBuilder.java
index 1f52239..73bd436 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/util/CommandStringBuilder.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/util/CommandStringBuilder.java
@@ -33,7 +33,7 @@ public class CommandStringBuilder {
   private static final String ARG_SEPARATOR = GfshParser.OPTION_SEPARATOR;
   private static final String OPTION_SEPARATOR = GfshParser.OPTION_SEPARATOR;
   private static final String SINGLE_SPACE = " ";
-  private static final String SINGLE_QUOTE = "\"";
+  private static final String DOUBLE_QUOTE = "\"";
 
   private final StringBuffer buffer;
   private volatile boolean hasOptions;
@@ -96,12 +96,12 @@ public class CommandStringBuilder {
   }
 
   private String quoteArgument(String argument) {
-    if (!argument.startsWith(SINGLE_QUOTE)) {
-      argument = SINGLE_QUOTE + argument;
+    if (!argument.startsWith(DOUBLE_QUOTE)) {
+      argument = DOUBLE_QUOTE + argument;
     }
 
-    if (!argument.endsWith(SINGLE_QUOTE)) {
-      argument = argument + SINGLE_QUOTE;
+    if (!argument.endsWith(DOUBLE_QUOTE)) {
+      argument = argument + DOUBLE_QUOTE;
     }
 
     return argument;
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CliCommandTestBase.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CliCommandTestBase.java
index d68bfae..20314fa 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CliCommandTestBase.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CliCommandTestBase.java
@@ -38,12 +38,10 @@ import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.rules.DistributedRestoreSystemProperties;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.junit.Rule;
-import org.junit.rules.TemporaryFolder;
 import org.springframework.shell.core.CommandMarker;
 
 import java.io.IOException;
 import java.io.PrintStream;
-import java.io.Serializable;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.List;
diff --git a/geode-junit/build.gradle b/geode-junit/build.gradle
index b0a53ce..7a7cb5e 100755
--- a/geode-junit/build.gradle
+++ b/geode-junit/build.gradle
@@ -25,7 +25,8 @@ dependencies {
   compile 'com.google.guava:guava:' + project.'guava.version'
   compile 'org.mockito:mockito-core:' + project.'mockito-core.version'
   compile 'org.awaitility:awaitility:' + project.'awaitility.version'
-
+  compile 'org.apache.logging.log4j:log4j-api:' + project.'log4j.version'
+  compile 'org.apache.logging.log4j:log4j-core:' + project.'log4j.version'
 
   compile('junit:junit:' + project.'junit.version') {
     exclude module: 'hamcrest-core'
diff --git a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/RequiresGeodeHome.java b/geode-junit/src/main/java/org/apache/geode/test/rules/RequiresGeodeHome.java
similarity index 97%
rename from geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/RequiresGeodeHome.java
rename to geode-junit/src/main/java/org/apache/geode/test/rules/RequiresGeodeHome.java
index 88e5f3a..30451c6 100644
--- a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/RequiresGeodeHome.java
+++ b/geode-junit/src/main/java/org/apache/geode/test/rules/RequiresGeodeHome.java
@@ -12,7 +12,7 @@
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  */
-package org.apache.geode.test.dunit.rules;
+package org.apache.geode.test.rules;
 
 import static org.apache.commons.lang.SystemUtils.LINE_SEPARATOR;
 import static org.assertj.core.api.Assertions.assertThat;
diff --git a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshExecution.java b/geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/GfshExecution.java
similarity index 97%
rename from geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshExecution.java
rename to geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/GfshExecution.java
index 23f2a73..1c3f04c 100644
--- a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshExecution.java
+++ b/geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/GfshExecution.java
@@ -12,7 +12,7 @@
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  */
-package org.apache.geode.test.dunit.rules.gfsh;
+package org.apache.geode.test.rules.gfsh;
 
 import java.io.File;
 import java.util.List;
diff --git a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshRule.java b/geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/GfshRule.java
similarity index 87%
rename from geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshRule.java
rename to geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/GfshRule.java
index f77cc77..99eeb95 100644
--- a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshRule.java
+++ b/geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/GfshRule.java
@@ -12,7 +12,7 @@
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  */
-package org.apache.geode.test.dunit.rules.gfsh;
+package org.apache.geode.test.rules.gfsh;
 
 import static org.apache.commons.lang.SystemUtils.PATH_SEPARATOR;
 import static org.assertj.core.api.Assertions.assertThat;
@@ -31,17 +31,17 @@ import java.util.stream.Collectors;
 import org.junit.rules.ExternalResource;
 import org.junit.rules.TemporaryFolder;
 
-import org.apache.geode.management.internal.cli.commands.StatusLocatorRealGfshTest;
-import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
-import org.apache.geode.test.dunit.rules.RequiresGeodeHome;
+import org.apache.geode.test.rules.RequiresGeodeHome;
+
 
 /**
  * The {@code GfshRule} allows a test to execute Gfsh commands via the actual (fully-assembled) gfsh
- * binaries. For a usage example, see {@link StatusLocatorRealGfshTest}. Each call to
- * {@link GfshRule#execute(GfshScript)} will invoke the given gfsh script in a forked JVM. The
- * {@link GfshRule#after()} method will attempt to clean up all forked JVMs.
+ * binaries. Each call to {@link GfshRule#execute(GfshScript)} will invoke the given gfsh script in
+ * a forked JVM. The {@link GfshRule#after()} method will attempt to clean up all forked JVMs.
  */
 public class GfshRule extends ExternalResource {
+  private static final String DOUBLE_QUOTE = "\"";
+
   public TemporaryFolder getTemporaryFolder() {
     return temporaryFolder;
   }
@@ -139,8 +139,7 @@ public class GfshRule extends ExternalResource {
   }
 
   private void stopServerInDir(File dir) {
-    String stopServerCommand =
-        new CommandStringBuilder("stop server").addOption("dir", dir).toString();
+    String stopServerCommand = "stop server --dir=" + quoteArgument(dir.toString());
 
     GfshScript stopServerScript =
         new GfshScript(stopServerCommand).withName("teardown-stop-server").awaitQuietly();
@@ -148,12 +147,23 @@ public class GfshRule extends ExternalResource {
   }
 
   private void stopLocatorInDir(File dir) {
-    String stopLocatorCommand =
-        new CommandStringBuilder("stop locator").addOption("dir", dir).toString();
+    String stopLocatorCommand = "stop locator --dir=" + quoteArgument(dir.toString());
 
     GfshScript stopServerScript =
         new GfshScript(stopLocatorCommand).withName("teardown-stop-locator").awaitQuietly();
     execute(stopServerScript);
   }
 
+  private String quoteArgument(String argument) {
+    if (!argument.startsWith(DOUBLE_QUOTE)) {
+      argument = DOUBLE_QUOTE + argument;
+    }
+
+    if (!argument.endsWith(DOUBLE_QUOTE)) {
+      argument = argument + DOUBLE_QUOTE;
+    }
+
+    return argument;
+  }
+
 }
diff --git a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshScript.java b/geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/GfshScript.java
similarity index 94%
rename from geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshScript.java
rename to geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/GfshScript.java
index 5b140e0..eb40139 100644
--- a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshScript.java
+++ b/geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/GfshScript.java
@@ -12,7 +12,7 @@
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  */
-package org.apache.geode.test.dunit.rules.gfsh;
+package org.apache.geode.test.rules.gfsh;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
@@ -20,8 +20,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.geode.management.internal.cli.util.ThreePhraseGenerator;
-
 public class GfshScript {
   private final String[] commands;
   private String name;
@@ -155,9 +153,9 @@ public class GfshScript {
 
   private String defaultName(String... commands) {
     try {
-      return commands[0].substring(0, commands[0].indexOf("-"));
+      return commands[0].substring(0, commands[0].indexOf("-")).trim();
     } catch (Exception handled) {
-      return new ThreePhraseGenerator().generate('-');
+      return commands[0];
     }
   }
 }
diff --git a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/ProcessLogger.java b/geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/ProcessLogger.java
similarity index 98%
rename from geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/ProcessLogger.java
rename to geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/ProcessLogger.java
index c0c788a..19357b4 100644
--- a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/ProcessLogger.java
+++ b/geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/ProcessLogger.java
@@ -12,7 +12,7 @@
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  */
-package org.apache.geode.test.dunit.rules.gfsh;
+package org.apache.geode.test.rules.gfsh;
 
 import java.util.List;
 import java.util.Queue;
diff --git a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/StreamGobbler.java b/geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/StreamGobbler.java
similarity index 96%
rename from geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/StreamGobbler.java
rename to geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/StreamGobbler.java
index e8fd0cc..2e971ce 100644
--- a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/StreamGobbler.java
+++ b/geode-junit/src/main/java/org/apache/geode/test/rules/gfsh/StreamGobbler.java
@@ -12,7 +12,7 @@
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  */
-package org.apache.geode.test.dunit.rules.gfsh;
+package org.apache.geode.test.rules.gfsh;
 
 import java.io.BufferedReader;
 import java.io.InputStream;

-- 
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].