You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by zh...@apache.org on 2017/07/21 06:41:55 UTC
[43/50] [abbrv] geode git commit: GEODE-2818: Making "groups" a valid
option when starting locators or servers and adding a comprehensive test to
cover changes.
GEODE-2818: Making "groups" a valid option when starting locators or servers and adding a comprehensive test to cover changes.
* this closes #598
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/92f26f17
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/92f26f17
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/92f26f17
Branch: refs/heads/feature/GEM-1483
Commit: 92f26f176f2a6530d334eee2bb74fdda23ea6f8e
Parents: 81c7014
Author: YehEmily <em...@gmail.com>
Authored: Tue Jun 20 12:43:07 2017 -0700
Committer: Jinmei Liao <ji...@pivotal.io>
Committed: Thu Jul 20 08:31:16 2017 -0700
----------------------------------------------------------------------
.../geode/test/dunit/rules/gfsh/GfshRule.java | 2 +-
.../tools/pulse/PulseSecurityWithSSLTest.java | 15 +-
.../management/internal/cli/GfshParser.java | 13 +-
.../cli/commands/LauncherLifecycleCommands.java | 53 +--
.../cli/GfshParserAutoCompletionTest.java | 16 +-
.../internal/cli/OptionAliasesParsingTest.java | 344 +++++++++++++++++++
.../cli/commands/ExportLogsIntegrationTest.java | 3 +-
.../internal/security/LogNoPasswordTest.java | 15 +-
8 files changed, 405 insertions(+), 56 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/92f26f17/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshRule.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshRule.java b/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshRule.java
index fc6f376..23445bd 100644
--- a/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshRule.java
+++ b/geode-assembly/src/test/java/org/apache/geode/test/dunit/rules/gfsh/GfshRule.java
@@ -48,7 +48,7 @@ public class GfshRule extends ExternalResource {
return execute(GfshScript.of(commands));
}
- protected GfshExecution execute(GfshScript gfshScript) {
+ public GfshExecution execute(GfshScript gfshScript) {
GfshExecution gfshExecution;
try {
File workingDir = temporaryFolder.newFolder(gfshScript.getName());
http://git-wip-us.apache.org/repos/asf/geode/blob/92f26f17/geode-assembly/src/test/java/org/apache/geode/tools/pulse/PulseSecurityWithSSLTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/org/apache/geode/tools/pulse/PulseSecurityWithSSLTest.java b/geode-assembly/src/test/java/org/apache/geode/tools/pulse/PulseSecurityWithSSLTest.java
index 0bacd99..6c87204 100644
--- a/geode-assembly/src/test/java/org/apache/geode/tools/pulse/PulseSecurityWithSSLTest.java
+++ b/geode-assembly/src/test/java/org/apache/geode/tools/pulse/PulseSecurityWithSSLTest.java
@@ -25,11 +25,9 @@ import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTOR
import static org.apache.geode.util.test.TestUtil.getResourcePath;
import static org.assertj.core.api.Assertions.assertThat;
-import org.apache.geode.security.SecurableCommunicationChannels;
-import org.apache.geode.security.SimpleTestSecurityManager;
-import org.apache.geode.test.dunit.rules.HttpClientRule;
-import org.apache.geode.test.dunit.rules.LocatorStarterRule;
-import org.apache.geode.test.junit.categories.IntegrationTest;
+import java.io.File;
+import java.util.Properties;
+
import org.apache.http.HttpResponse;
import org.junit.BeforeClass;
import org.junit.ClassRule;
@@ -37,8 +35,11 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
-import java.io.File;
-import java.util.Properties;
+import org.apache.geode.security.SecurableCommunicationChannels;
+import org.apache.geode.security.SimpleTestSecurityManager;
+import org.apache.geode.test.dunit.rules.HttpClientRule;
+import org.apache.geode.test.dunit.rules.LocatorStarterRule;
+import org.apache.geode.test.junit.categories.IntegrationTest;
@Category(IntegrationTest.class)
http://git-wip-us.apache.org/repos/asf/geode/blob/92f26f17/geode-core/src/main/java/org/apache/geode/management/internal/cli/GfshParser.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/GfshParser.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/GfshParser.java
index c31c50d..9cebc63 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/GfshParser.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/GfshParser.java
@@ -14,6 +14,12 @@
*/
package org.apache.geode.management.internal.cli;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
import org.apache.commons.lang.StringUtils;
import org.springframework.shell.converters.ArrayConverter;
import org.springframework.shell.core.CommandMarker;
@@ -23,13 +29,6 @@ import org.springframework.shell.core.Parser;
import org.springframework.shell.core.SimpleParser;
import org.springframework.shell.event.ParseResult;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Properties;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
/**
* Implementation of the {@link Parser} interface for GemFire SHell (gfsh) requirements.
*
http://git-wip-us.apache.org/repos/asf/geode/blob/92f26f17/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
index b325e18..b8904a9 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
@@ -45,7 +45,31 @@ import static org.apache.geode.management.internal.cli.i18n.CliStrings.START_SER
import static org.apache.geode.management.internal.cli.shell.MXBeanProvider.getDistributedSystemMXBean;
import static org.apache.geode.management.internal.cli.util.HostUtils.getLocatorId;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.InetAddress;
+import java.net.MalformedURLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.TimeUnit;
+
+import javax.management.MalformedObjectNameException;
+import javax.net.ssl.SSLException;
+import javax.net.ssl.SSLHandshakeException;
+
import org.apache.commons.lang.ArrayUtils;
+import org.springframework.shell.core.annotation.CliCommand;
+import org.springframework.shell.core.annotation.CliOption;
+
import org.apache.geode.SystemFailure;
import org.apache.geode.cache.server.CacheServer;
import org.apache.geode.distributed.AbstractLauncher;
@@ -90,29 +114,6 @@ import org.apache.geode.management.internal.cli.util.ThreePhraseGenerator;
import org.apache.geode.management.internal.configuration.utils.ClusterConfigurationStatusRetriever;
import org.apache.geode.management.internal.security.ResourceConstants;
import org.apache.geode.security.AuthenticationFailedException;
-import org.springframework.shell.core.annotation.CliCommand;
-import org.springframework.shell.core.annotation.CliOption;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.MalformedURLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.TimeUnit;
-import javax.management.MalformedObjectNameException;
-import javax.net.ssl.SSLException;
-import javax.net.ssl.SSLHandshakeException;
/**
* The LauncherLifecycleCommands class encapsulates all GemFire launcher commands for GemFire tools
@@ -168,7 +169,8 @@ public class LauncherLifecycleCommands implements GfshCommand {
@CliOption(key = CliStrings.START_LOCATOR__FORCE, unspecifiedDefaultValue = "false",
specifiedDefaultValue = "true",
help = CliStrings.START_LOCATOR__FORCE__HELP) final Boolean force,
- @CliOption(key = CliStrings.GROUP, optionContext = ConverterHint.MEMBERGROUP,
+ @CliOption(key = {CliStrings.GROUP, CliStrings.GROUPS},
+ optionContext = ConverterHint.MEMBERGROUP,
help = CliStrings.START_LOCATOR__GROUP__HELP) final String group,
@CliOption(key = CliStrings.START_LOCATOR__HOSTNAME_FOR_CLIENTS,
help = CliStrings.START_LOCATOR__HOSTNAME_FOR_CLIENTS__HELP) final String hostnameForClients,
@@ -874,7 +876,8 @@ public class LauncherLifecycleCommands implements GfshCommand {
@CliOption(key = CliStrings.START_SERVER__FORCE, unspecifiedDefaultValue = "false",
specifiedDefaultValue = "true",
help = CliStrings.START_SERVER__FORCE__HELP) final Boolean force,
- @CliOption(key = CliStrings.GROUP, optionContext = ConverterHint.MEMBERGROUP,
+ @CliOption(key = {CliStrings.GROUP, CliStrings.GROUPS},
+ optionContext = ConverterHint.MEMBERGROUP,
help = CliStrings.START_SERVER__GROUP__HELP) final String group,
@CliOption(key = CliStrings.START_SERVER__HOSTNAME__FOR__CLIENTS,
help = CliStrings.START_SERVER__HOSTNAME__FOR__CLIENTS__HELP) final String hostNameForClients,
http://git-wip-us.apache.org/repos/asf/geode/blob/92f26f17/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserAutoCompletionTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserAutoCompletionTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserAutoCompletionTest.java
index 4069c06..aa76ecb 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserAutoCompletionTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserAutoCompletionTest.java
@@ -122,7 +122,7 @@ public class GfshParserAutoCompletionTest {
buffer = "start server --name=name1 --";
candidate = parser.complete(buffer);
assertThat(candidate.getCursor()).isEqualTo(buffer.length() - 2);
- assertThat(candidate.size()).isEqualTo(51);
+ assertThat(candidate.size()).isEqualTo(52);
assertTrue(candidate.getCandidates().contains(new Completion("--properties-file")));
assertThat(candidate.getFirstCandidate()).isEqualTo(buffer + "J");
}
@@ -132,7 +132,7 @@ public class GfshParserAutoCompletionTest {
buffer = "start server --name=name1 ";
candidate = parser.complete(buffer);
assertThat(candidate.getCursor()).isEqualTo(buffer.length() - 1);
- assertThat(candidate.size()).isEqualTo(51);
+ assertThat(candidate.size()).isEqualTo(52);
assertTrue(candidate.getCandidates().contains(new Completion(" --properties-file")));
assertThat(candidate.getFirstCandidate()).isEqualTo(buffer + "--J");
}
@@ -142,7 +142,7 @@ public class GfshParserAutoCompletionTest {
buffer = "start server --name=name1";
candidate = parser.complete(buffer);
assertThat(candidate.getCursor()).isEqualTo(buffer.length());
- assertThat(candidate.size()).isEqualTo(51);
+ assertThat(candidate.size()).isEqualTo(52);
assertTrue(candidate.getCandidates().contains(new Completion(" --properties-file")));
assertThat(candidate.getFirstCandidate()).isEqualTo(buffer + " --J");
}
@@ -167,7 +167,7 @@ public class GfshParserAutoCompletionTest {
public void testCompleteWithDash() throws Exception {
buffer = "start server --name=name1 --J=-Dfoo.bar --";
candidate = parser.complete(buffer);
- assertThat(candidate.size()).isEqualTo(50);
+ assertThat(candidate.size()).isEqualTo(51);
}
@Test
@@ -185,7 +185,7 @@ public class GfshParserAutoCompletionTest {
buffer = "start server --name=name1 --J=-Dtest=test1 --J=-Dfoo=bar";
candidate = parser.complete(buffer);
assertThat(candidate.getCursor()).isEqualTo(buffer.length());
- assertThat(candidate.size()).isEqualTo(50);
+ assertThat(candidate.size()).isEqualTo(51);
assertThat(candidate.getFirstCandidate()).isEqualTo(buffer + " --assign-buckets");
}
@@ -194,7 +194,7 @@ public class GfshParserAutoCompletionTest {
buffer = "start server --J=-Dtest=test1 --J=-Dfoo=bar --name=name1";
candidate = parser.complete(buffer);
assertThat(candidate.getCursor()).isEqualTo(buffer.length());
- assertThat(candidate.size()).isEqualTo(50);
+ assertThat(candidate.size()).isEqualTo(51);
assertThat(candidate.getFirstCandidate()).isEqualTo(buffer + " --assign-buckets");
}
@@ -203,7 +203,7 @@ public class GfshParserAutoCompletionTest {
buffer = "start server --name=name1 --locators=localhost --J=-Dfoo=bar";
candidate = parser.complete(buffer);
assertThat(candidate.getCursor()).isEqualTo(buffer.length());
- assertThat(candidate.size()).isEqualTo(49);
+ assertThat(candidate.size()).isEqualTo(50);
assertThat(candidate.getFirstCandidate()).isEqualTo(buffer + " --assign-buckets");
}
@@ -212,7 +212,7 @@ public class GfshParserAutoCompletionTest {
buffer = "start server --name=name1 --locators=localhost --J=-Dfoo=bar --";
candidate = parser.complete(buffer);
assertThat(candidate.getCursor()).isEqualTo(buffer.length() - 2);
- assertThat(candidate.size()).isEqualTo(49);
+ assertThat(candidate.size()).isEqualTo(50);
assertThat(candidate.getFirstCandidate()).isEqualTo(buffer + "assign-buckets");
}
http://git-wip-us.apache.org/repos/asf/geode/blob/92f26f17/geode-core/src/test/java/org/apache/geode/management/internal/cli/OptionAliasesParsingTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/OptionAliasesParsingTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/OptionAliasesParsingTest.java
new file mode 100644
index 0000000..a33e95e
--- /dev/null
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/OptionAliasesParsingTest.java
@@ -0,0 +1,344 @@
+/*
+ * 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;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.test.dunit.rules.GfshParserRule;
+import org.apache.geode.test.junit.categories.IntegrationTest;
+
+@Category(IntegrationTest.class)
+public class OptionAliasesParsingTest {
+
+ private String buffer;
+
+ @ClassRule
+ public static GfshParserRule parser = new GfshParserRule();
+
+ @Test
+ public void startLocator() {
+ buffer = "start locator --name=locator1 --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void startServer() {
+ buffer = "start server --name=server1 --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void exportConfig() {
+ buffer = "export config --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void createRegion() {
+ buffer = "create region --name=region1 --type=REPLICATE_PERSISTENT --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void alterRegion() {
+ buffer = "alter region --name=region1 --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void deploy() {
+ buffer = "deploy --jars=j1,j2 --groups=g1,g2";
+ validateParsedResults(false, true, true);
+ }
+
+ @Test
+ public void undeploy() {
+ buffer = "undeploy --jars=j1,j2 --groups=g1,g2";
+ validateParsedResults(false, true, true);
+ }
+
+ @Test
+ public void listDeployed() {
+ buffer = "list deployed --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void createDiskStore() {
+ buffer = "create disk-store --name=ds1 --dir=dir1 --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void compactDiskStore() {
+ buffer = "compact disk-store --name=ds1 --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void destroyDiskStore() {
+ buffer = "destroy disk-store --name=ds1 --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void listDurableCQs() {
+ buffer = "list durable-cqs --durable-client-id=id1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void showSubscriptionQueueSize() {
+ buffer = "show subscription-queue-size --durable-client-id=id1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void closeDurableCQs() {
+ buffer =
+ "close durable-cq --durable-client-id=id1 --durable-cq-name=cq1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void closeDurableClient() {
+ buffer = "close durable-client --durable-client-id=id1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void exportLogs() {
+ buffer = "export logs --dir=/temp --groups=g1,g2 --members=m1,m2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void executeFunction() {
+ buffer = "execute function --id=function1 --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void destroyFunction() {
+ buffer = "destroy function --id=function1 --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void listFunctions() {
+ buffer = "list functions --groups=g1,g2 --members=m1,m2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void createIndex() {
+ buffer =
+ "create index --name=index1 --expression=expression1.id --region=region1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void destroyIndex() {
+ buffer = "destroy index --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void createDefinedIndexes() {
+ buffer = "create defined indexes --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void gc() {
+ buffer = "gc --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void netstat() {
+ buffer = "netstat --members=m1,m2";
+ validateParsedResults(true, false);
+ }
+
+ @Test
+ public void exportStackTraces() {
+ buffer = "export stack-traces --file=file1.txt --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void changeLogLevel() {
+ buffer = "change loglevel --loglevel=severe --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void createAsyncEventQueue() {
+ buffer = "create async-event-queue --id=id1 --listener=listener1 --groups=g1,g2";
+ validateParsedResults(false, true);
+ }
+
+ @Test
+ public void listRegions() {
+ buffer = "list regions --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void createGatewaySender() {
+ buffer =
+ "create gateway-sender --id=id1 --remote-distributed-system-id=2 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void startGatewaySender() {
+ buffer = "start gateway-sender --id=sender1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void pauseGatewaySender() {
+ buffer = "pause gateway-sender --id=sender1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void resumeGatewaySender() {
+ buffer = "resume gateway-sender --id=sender1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void stopGatewaySender() {
+ buffer = "stop gateway-sender --id=sender1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void createGatewayReceiver() {
+ buffer = "create gateway-receiver --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void startGatewayReceiver() {
+ buffer = "start gateway-receiver --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void stopGatewayReceiver() {
+ buffer = "stop gateway-receiver --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void listGateways() {
+ buffer = "list gateways --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void statusGatewaySender() {
+ buffer = "status gateway-sender --id=sender1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void statusGatewayReceiver() {
+ buffer = "status gateway-receiver --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void destroyGatewaySender() {
+ buffer = "destroy gateway-sender --id=sender1 --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ @Test
+ public void alterRuntime() {
+ buffer = "alter runtime --members=m1,m2 --groups=g1,g2";
+ validateParsedResults(true, true);
+ }
+
+ private void validateParsedResults(boolean canHaveMembers, boolean canHaveGroups) {
+ GfshParseResult result = parser.parse(buffer);
+ if (canHaveMembers) {
+ assertThat(result.getParamValue("member")).isEqualTo("m1,m2");
+ }
+ if (canHaveGroups) {
+ assertThat(result.getParamValue("group")).isEqualTo("g1,g2");
+ }
+ }
+
+ private void validateParsedResults(boolean canHaveMembers, boolean canHaveGroups,
+ boolean canHaveJars) {
+ GfshParseResult result = parser.parse(buffer);
+ validateParsedResults(canHaveMembers, canHaveGroups);
+ if (canHaveJars) {
+ assertThat(result.getParamValue("jar")).isEqualTo("j1,j2");
+ }
+ }
+
+ /**
+ * This characterizes the current behavior but it may be incorrect.
+ */
+ @Test
+ public void gc_memberWithCommas() {
+ buffer = "gc --member=m1,m2";
+ GfshParseResult result = parser.parse(buffer);
+ assertThat(result.getParamValue("member")).isEqualTo("m1,m2");
+ }
+
+ @Test
+ public void gc_onlySupportsMember_returnsNull() {
+ buffer = "gc --members=m1,m2";
+ assertThat(parser.parse(buffer)).isNull();
+ }
+
+ @Test
+ public void destroyFunction_memberWithCommas() {
+ buffer = "destroy function --id=function1 --member=m1,m2";
+ GfshParseResult result = parser.parse(buffer);
+ assertThat(result.getParamValue("member")).isEqualTo("m1,m2");
+ }
+
+ @Test
+ public void destroyFunction_onlySupportsMember_returnsNull() {
+ buffer = "destroy function --id=function1 --members=m1,m2";
+ assertThat(parser.parse(buffer)).isNull();
+ }
+
+ @Test
+ public void memberAndMembersReturnsNull() {
+ buffer =
+ "create region --name=region1 --type=REPLICATE_PERSISTENT --members=m1,m2 --member=m4,m5";
+ assertThat(parser.parse(buffer)).isNull();
+ }
+
+ @Test
+ public void groupAndGroupsReturnsNull() {
+ buffer =
+ "create region --name=region1 --type=REPLICATE_PERSISTENT --groups=g1,g2 --group=g4,g5";
+ assertThat(parser.parse(buffer)).isNull();
+ }
+}
http://git-wip-us.apache.org/repos/asf/geode/blob/92f26f17/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportLogsIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportLogsIntegrationTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportLogsIntegrationTest.java
index 0b012c9..4ca625a 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportLogsIntegrationTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportLogsIntegrationTest.java
@@ -34,7 +34,8 @@ import java.nio.file.Path;
public class ExportLogsIntegrationTest {
@ClassRule
- public static LocatorStarterRule locator = new LocatorStarterRule().withAutoStart();
+ public static LocatorStarterRule locator =
+ new LocatorStarterRule().withJMXManager().withProperty("groups", "g1,g2").withAutoStart();
@Rule
public GfshShellConnectionRule gfsh = new GfshShellConnectionRule();
http://git-wip-us.apache.org/repos/asf/geode/blob/92f26f17/geode-web/src/test/java/org/apache/geode/management/internal/security/LogNoPasswordTest.java
----------------------------------------------------------------------
diff --git a/geode-web/src/test/java/org/apache/geode/management/internal/security/LogNoPasswordTest.java b/geode-web/src/test/java/org/apache/geode/management/internal/security/LogNoPasswordTest.java
index 688af78..3176f54 100644
--- a/geode-web/src/test/java/org/apache/geode/management/internal/security/LogNoPasswordTest.java
+++ b/geode-web/src/test/java/org/apache/geode/management/internal/security/LogNoPasswordTest.java
@@ -18,18 +18,19 @@ package org.apache.geode.management.internal.security;
import static org.apache.geode.distributed.ConfigurationProperties.LOG_LEVEL;
import static org.assertj.core.api.Assertions.assertThat;
+import java.io.File;
+import java.util.Properties;
+import java.util.Scanner;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
import org.apache.geode.security.AuthenticationFailedException;
import org.apache.geode.security.SecurityManager;
import org.apache.geode.test.dunit.rules.GfshShellConnectionRule;
import org.apache.geode.test.dunit.rules.LocatorStarterRule;
import org.apache.geode.test.junit.categories.IntegrationTest;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-import java.io.File;
-import java.util.Properties;
-import java.util.Scanner;
@Category(IntegrationTest.class)
public class LogNoPasswordTest {