This is an automated email from the ASF dual-hosted git repository.
jjramos 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 b2e3884 GEODE-6519: Fix CreateGatewaySenderCommand Flags (#3298)
b2e3884 is described below
commit b2e388469085d0e9ada2cc988d41815cfbe8ec56
Author: Juan José Ramos <[email protected]>
AuthorDate: Thu Mar 14 09:05:22 2019 +0000
GEODE-6519: Fix CreateGatewaySenderCommand Flags (#3298)
- Fixed minor warnings.
- Parameter `manual-start` from `create gateway-sender` command is set
as `false` by default when specified without a value.
- Parameters `parallel`, `disk-synchronous`, `enable-persistence` and
`enable-batch-conflation` from `create gateway-sender` command are set
as `true` by default when specified without a value.
---
.../cli/commands/CreateGatewaySenderCommand.java | 38 ++++--
.../management/internal/cli/i18n/CliStrings.java | 2 +
.../commands/CreateGatewaySenderCommandTest.java | 100 ++++++++++++--
...CreateDestroyGatewaySenderCommandDUnitTest.java | 146 +++++++++++----------
4 files changed, 197 insertions(+), 89 deletions(-)
diff --git
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateGatewaySenderCommand.java
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateGatewaySenderCommand.java
index 6f8921a..c09a313 100644
---
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateGatewaySenderCommand.java
+++
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateGatewaySenderCommand.java
@@ -51,25 +51,32 @@ public class CreateGatewaySenderCommand extends
SingleGfshCommand {
interceptor =
"org.apache.geode.management.internal.cli.commands.CreateGatewaySenderCommand$Interceptor")
@ResourceOperation(resource = ResourcePermission.Resource.CLUSTER,
operation = ResourcePermission.Operation.MANAGE, target =
ResourcePermission.Target.GATEWAY)
- public ResultModel createGatewaySender(@CliOption(key = {CliStrings.GROUP,
CliStrings.GROUPS},
- optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.CREATE_GATEWAYSENDER__GROUP__HELP) String[] onGroups,
+ public ResultModel createGatewaySender(
+
+ @CliOption(key = {CliStrings.GROUP, CliStrings.GROUPS},
+ optionContext = ConverterHint.MEMBERGROUP,
+ help = CliStrings.CREATE_GATEWAYSENDER__GROUP__HELP) String[]
onGroups,
@CliOption(key = {CliStrings.MEMBER, CliStrings.MEMBERS},
optionContext = ConverterHint.MEMBERIDNAME,
help = CliStrings.CREATE_GATEWAYSENDER__MEMBER__HELP) String[]
onMember,
- @CliOption(key = CliStrings.CREATE_GATEWAYSENDER__ID, mandatory = true,
+ @CliOption(key = CliStrings.CREATE_GATEWAYSENDER__ID,
+ mandatory = true,
help = CliStrings.CREATE_GATEWAYSENDER__ID__HELP) String id,
- @CliOption(key =
CliStrings.CREATE_GATEWAYSENDER__REMOTEDISTRIBUTEDSYSTEMID, mandatory = true,
+ @CliOption(key =
CliStrings.CREATE_GATEWAYSENDER__REMOTEDISTRIBUTEDSYSTEMID,
+ mandatory = true,
help =
CliStrings.CREATE_GATEWAYSENDER__REMOTEDISTRIBUTEDSYSTEMID__HELP) Integer
remoteDistributedSystemId,
- @CliOption(key = CliStrings.CREATE_GATEWAYSENDER__PARALLEL,
specifiedDefaultValue = "true",
+ @CliOption(key = CliStrings.CREATE_GATEWAYSENDER__PARALLEL,
+ specifiedDefaultValue = "true",
unspecifiedDefaultValue = "false",
help = CliStrings.CREATE_GATEWAYSENDER__PARALLEL__HELP) boolean
parallel,
- @CliOption(key = CliStrings.CREATE_GATEWAYSENDER__MANUALSTART,
+ // Users must avoid this feature, it might cause data loss and other
issues during startup.
+ @Deprecated @CliOption(key =
CliStrings.CREATE_GATEWAYSENDER__MANUALSTART,
+ unspecifiedDefaultValue = "false",
help = CliStrings.CREATE_GATEWAYSENDER__MANUALSTART__HELP) Boolean
manualStart,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__SOCKETBUFFERSIZE,
@@ -79,6 +86,8 @@ public class CreateGatewaySenderCommand extends
SingleGfshCommand {
help = CliStrings.CREATE_GATEWAYSENDER__SOCKETREADTIMEOUT__HELP)
Integer socketReadTimeout,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__ENABLEBATCHCONFLATION,
+ specifiedDefaultValue = "true",
+ unspecifiedDefaultValue = "false",
help = CliStrings.CREATE_GATEWAYSENDER__ENABLEBATCHCONFLATION__HELP)
Boolean enableBatchConflation,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__BATCHSIZE,
@@ -88,12 +97,16 @@ public class CreateGatewaySenderCommand extends
SingleGfshCommand {
help = CliStrings.CREATE_GATEWAYSENDER__BATCHTIMEINTERVAL__HELP)
Integer batchTimeInterval,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__ENABLEPERSISTENCE,
+ specifiedDefaultValue = "true",
+ unspecifiedDefaultValue = "false",
help = CliStrings.CREATE_GATEWAYSENDER__ENABLEPERSISTENCE__HELP)
Boolean enablePersistence,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__DISKSTORENAME,
help = CliStrings.CREATE_GATEWAYSENDER__DISKSTORENAME__HELP) String
diskStoreName,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__DISKSYNCHRONOUS,
+ specifiedDefaultValue = "true",
+ unspecifiedDefaultValue = "true",
help = CliStrings.CREATE_GATEWAYSENDER__DISKSYNCHRONOUS__HELP)
Boolean diskSynchronous,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__MAXQUEUEMEMORY,
@@ -205,18 +218,19 @@ public class CreateGatewaySenderCommand extends
SingleGfshCommand {
}
private String int2string(Integer i) {
- return Optional.ofNullable(i).map(in -> in.toString()).orElse(null);
+ return Optional.ofNullable(i).map(String::valueOf).orElse(null);
}
public static class Interceptor extends AbstractCliAroundInterceptor {
@Override
public Result preExecution(GfshParseResult parseResult) {
- Integer dispatcherThreads =
- (Integer)
parseResult.getParamValue(CliStrings.CREATE_GATEWAYSENDER__DISPATCHERTHREADS);
- OrderPolicy orderPolicy =
- (OrderPolicy)
parseResult.getParamValue(CliStrings.CREATE_GATEWAYSENDER__ORDERPOLICY);
Boolean parallel =
(Boolean)
parseResult.getParamValue(CliStrings.CREATE_GATEWAYSENDER__PARALLEL);
+ OrderPolicy orderPolicy =
+ (OrderPolicy)
parseResult.getParamValue(CliStrings.CREATE_GATEWAYSENDER__ORDERPOLICY);
+ Integer dispatcherThreads =
+ (Integer)
parseResult.getParamValue(CliStrings.CREATE_GATEWAYSENDER__DISPATCHERTHREADS);
+
if (dispatcherThreads != null && dispatcherThreads > 1 && orderPolicy ==
null) {
return ResultBuilder.createUserErrorResult(
"Must specify --order-policy when --dispatcher-threads is larger
than 1.");
diff --git
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java
index c0c5d05..f6b5d1d 100644
---
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java
+++
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java
@@ -2163,7 +2163,9 @@ public class CliStrings {
public static final String CREATE_GATEWAYSENDER__PARALLEL = "parallel";
public static final String CREATE_GATEWAYSENDER__PARALLEL__HELP =
"Whether this is Parallel GatewaySender.";
+ @Deprecated
public static final String CREATE_GATEWAYSENDER__MANUALSTART =
"manual-start";
+ @Deprecated
public static final String CREATE_GATEWAYSENDER__MANUALSTART__HELP =
"Whether manual start is to be enabled or the sender will start
automatically after creation.\n"
+ "Deprecated: Since Geode 1.4. Manual start of senders is
deprecated and will be removed in a later release.";
diff --git
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateGatewaySenderCommandTest.java
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateGatewaySenderCommandTest.java
index f708efe..706215b 100644
---
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateGatewaySenderCommandTest.java
+++
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateGatewaySenderCommandTest.java
@@ -21,6 +21,7 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.Collections;
@@ -51,20 +52,18 @@ public class CreateGatewaySenderCommandTest {
public static GfshParserRule gfsh = new GfshParserRule();
private CreateGatewaySenderCommand command;
- private InternalCache cache;
private List<CliFunctionResult> functionResults;
private CliFunctionResult cliFunctionResult;
- ArgumentCaptor<GatewaySenderFunctionArgs> argsArgumentCaptor =
+ private ArgumentCaptor<GatewaySenderFunctionArgs> argsArgumentCaptor =
ArgumentCaptor.forClass(GatewaySenderFunctionArgs.class);
@Before
public void before() {
command = spy(CreateGatewaySenderCommand.class);
- cache = mock(InternalCache.class);
+ InternalCache cache = mock(InternalCache.class);
doReturn(cache).when(command).getCache();
functionResults = new ArrayList<>();
- doReturn(functionResults).when(command).executeAndGetFunctionResult(any(),
- any(), any(Set.class));
+ doReturn(functionResults).when(command).executeAndGetFunctionResult(any(),
any(), any());
}
@Test
@@ -95,7 +94,7 @@ public class CreateGatewaySenderCommandTest {
}
@Test
- public void paralleAndThreadOrderPolicy() {
+ public void parallelAndThreadOrderPolicy() {
gfsh.executeAndAssertThat(command,
"create gateway-sender --id=ln --remote-distributed-system-id=1 "
+ "--parallel --order-policy=THREAD")
@@ -135,7 +134,7 @@ public class CreateGatewaySenderCommandTest {
+ "--gateway-event-filter=test1,test2
--gateway-transport-filter=test1,test2")
.statusIsSuccess();
verify(command).executeAndGetFunctionResult(any(),
argsArgumentCaptor.capture(),
- any(Set.class));
+ any());
assertThat(argsArgumentCaptor.getValue().getOrderPolicy()).isEqualTo(
GatewaySender.OrderPolicy.THREAD.toString());
assertThat(argsArgumentCaptor.getValue().getRemoteDistributedSystemId()).isEqualTo(1);
@@ -170,9 +169,9 @@ public class CreateGatewaySenderCommandTest {
// Create a set of mixed version members
Set<DistributedMember> members = new HashSet<>();
InternalDistributedMember currentVersionMember =
mock(InternalDistributedMember.class);
- doReturn(Version.CURRENT).when(currentVersionMember).getVersionObject();
+ when(currentVersionMember.getVersionObject()).thenReturn(Version.CURRENT);
InternalDistributedMember oldVersionMember =
mock(InternalDistributedMember.class);
- doReturn(Version.GEODE_1_4_0).when(oldVersionMember).getVersionObject();
+ when(oldVersionMember.getVersionObject()).thenReturn(Version.GEODE_1_4_0);
members.add(currentVersionMember);
members.add(oldVersionMember);
doReturn(members).when(command).getMembers(any(), any());
@@ -182,4 +181,87 @@ public class CreateGatewaySenderCommandTest {
"create gateway-sender --id=1
--remote-distributed-system-id=1").statusIsError()
.containsOutput(CliStrings.CREATE_GATEWAYSENDER__MSG__CAN_NOT_CREATE_DIFFERENT_VERSIONS);
}
+
+ @Test
+ public void testDefaultArguments() {
+ doReturn(mock(Set.class)).when(command).getMembers(any(), any());
+ cliFunctionResult =
+ new CliFunctionResult("member", CliFunctionResult.StatusState.OK,
"cliFunctionResult");
+ functionResults.add(cliFunctionResult);
+ gfsh.executeAndAssertThat(command,
+ "create gateway-sender --id=testGateway
--remote-distributed-system-id=1")
+ .statusIsSuccess();
+ verify(command).executeAndGetFunctionResult(any(),
argsArgumentCaptor.capture(), any());
+
+ assertThat(argsArgumentCaptor.getValue().getId()).isEqualTo("testGateway");
+
assertThat(argsArgumentCaptor.getValue().getRemoteDistributedSystemId()).isEqualTo(1);
+ assertThat(argsArgumentCaptor.getValue().isParallel()).isFalse();
+ assertThat(argsArgumentCaptor.getValue().isManualStart()).isFalse();
+ assertThat(argsArgumentCaptor.getValue().getSocketBufferSize()).isNull();
+ assertThat(argsArgumentCaptor.getValue().getSocketReadTimeout()).isNull();
+
assertThat(argsArgumentCaptor.getValue().isBatchConflationEnabled()).isFalse();
+ assertThat(argsArgumentCaptor.getValue().getBatchSize()).isNull();
+ assertThat(argsArgumentCaptor.getValue().getBatchTimeInterval()).isNull();
+ assertThat(argsArgumentCaptor.getValue().getBatchSize()).isNull();
+ assertThat(argsArgumentCaptor.getValue().getBatchSize()).isNull();
+ assertThat(argsArgumentCaptor.getValue().isPersistenceEnabled()).isFalse();
+ assertThat(argsArgumentCaptor.getValue().getDiskStoreName()).isNull();
+ assertThat(argsArgumentCaptor.getValue().isDiskSynchronous()).isTrue();
+ assertThat(argsArgumentCaptor.getValue().getMaxQueueMemory()).isNull();
+ assertThat(argsArgumentCaptor.getValue().getAlertThreshold()).isNull();
+ assertThat(argsArgumentCaptor.getValue().getDispatcherThreads()).isNull();
+ assertThat(argsArgumentCaptor.getValue().getOrderPolicy()).isNull();
+
assertThat(argsArgumentCaptor.getValue().getGatewayEventFilter()).isNotNull().isEmpty();
+
assertThat(argsArgumentCaptor.getValue().getGatewayTransportFilter()).isNotNull().isEmpty();
+ }
+
+ @Test
+ public void booleanArgumentsShouldBeSetAsTrueWhenSpecifiedWithoutValue() {
+ doReturn(mock(Set.class)).when(command).getMembers(any(), any());
+ cliFunctionResult =
+ new CliFunctionResult("member", CliFunctionResult.StatusState.OK,
"cliFunctionResult");
+ functionResults.add(cliFunctionResult);
+ gfsh.executeAndAssertThat(command,
+ "create gateway-sender --member=xyz --id=testGateway
--remote-distributed-system-id=1"
+ + " --parallel"
+ + " --manual-start"
+ + " --disk-synchronous"
+ + " --enable-persistence"
+ + " --enable-batch-conflation")
+ .statusIsSuccess();
+ verify(command).executeAndGetFunctionResult(any(),
argsArgumentCaptor.capture(), any());
+
+ assertThat(argsArgumentCaptor.getValue().getId()).isEqualTo("testGateway");
+
assertThat(argsArgumentCaptor.getValue().getRemoteDistributedSystemId()).isEqualTo(1);
+ assertThat(argsArgumentCaptor.getValue().isParallel()).isTrue();
+ assertThat(argsArgumentCaptor.getValue().isManualStart()).isNull();
+ assertThat(argsArgumentCaptor.getValue().isDiskSynchronous()).isTrue();
+ assertThat(argsArgumentCaptor.getValue().isPersistenceEnabled()).isTrue();
+
assertThat(argsArgumentCaptor.getValue().isBatchConflationEnabled()).isTrue();
+ }
+
+ @Test
+ public void booleanArgumentsShouldUseTheCustomParameterValueWhenSpecified() {
+ doReturn(mock(Set.class)).when(command).getMembers(any(), any());
+ cliFunctionResult =
+ new CliFunctionResult("member", CliFunctionResult.StatusState.OK,
"cliFunctionResult");
+ functionResults.add(cliFunctionResult);
+ gfsh.executeAndAssertThat(command,
+ "create gateway-sender --member=xyz --id=testGateway
--remote-distributed-system-id=1"
+ + " --parallel=false"
+ + " --manual-start=false"
+ + " --disk-synchronous=false"
+ + " --enable-persistence=false"
+ + " --enable-batch-conflation=false")
+ .statusIsSuccess();
+ verify(command).executeAndGetFunctionResult(any(),
argsArgumentCaptor.capture(), any());
+
+ assertThat(argsArgumentCaptor.getValue().getId()).isEqualTo("testGateway");
+
assertThat(argsArgumentCaptor.getValue().getRemoteDistributedSystemId()).isEqualTo(1);
+ assertThat(argsArgumentCaptor.getValue().isParallel()).isFalse();
+ assertThat(argsArgumentCaptor.getValue().isManualStart()).isFalse();
+ assertThat(argsArgumentCaptor.getValue().isDiskSynchronous()).isFalse();
+ assertThat(argsArgumentCaptor.getValue().isPersistenceEnabled()).isFalse();
+
assertThat(argsArgumentCaptor.getValue().isBatchConflationEnabled()).isFalse();
+ }
}
diff --git
a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/wancommand/CreateDestroyGatewaySenderCommandDUnitTest.java
b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/wancommand/CreateDestroyGatewaySenderCommandDUnitTest.java
index f5000d2..988dddf 100644
---
a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/wancommand/CreateDestroyGatewaySenderCommandDUnitTest.java
+++
b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/wancommand/CreateDestroyGatewaySenderCommandDUnitTest.java
@@ -35,6 +35,7 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.apache.geode.cache.wan.GatewaySender;
+import org.apache.geode.distributed.internal.InternalLocator;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.test.dunit.rules.ClusterStartupRule;
import org.apache.geode.test.dunit.rules.MemberVM;
@@ -42,7 +43,7 @@ import org.apache.geode.test.junit.categories.WanTest;
import org.apache.geode.test.junit.rules.GfshCommandRule;
import org.apache.geode.test.junit.rules.VMProvider;
-@Category({WanTest.class})
+@Category(WanTest.class)
@SuppressWarnings("serial")
public class CreateDestroyGatewaySenderCommandDUnitTest implements
Serializable {
@@ -66,7 +67,7 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
private static MemberVM server3;
@BeforeClass
- public static void beforeClass() throws Exception {
+ public static void beforeClass() {
Properties props = new Properties();
props.setProperty(DISTRIBUTED_SYSTEM_ID, "" + 1);
locatorSite1 = clusterStartupRule.startLocatorVM(1, props);
@@ -94,34 +95,40 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
* GatewaySender with all default attributes
*/
@Test
- public void testCreateDestroyGatewaySenderWithDefault() throws Exception {
-
gfsh.executeAndAssertThat(CREATE).statusIsSuccess().tableHasColumnWithExactValuesInAnyOrder(
- "Message", "GatewaySender \"ln\" created on \"" + SERVER_3 + "\"",
- "GatewaySender \"ln\" created on \"" + SERVER_4 + "\"",
- "GatewaySender \"ln\" created on \"" + SERVER_5 + "\"");
+ public void testCreateDestroyGatewaySenderWithDefault() {
+ gfsh.executeAndAssertThat(CREATE).statusIsSuccess()
+ .hasTableSection().hasRowSize(3).hasColumn("Message").containsOnly(
+ "GatewaySender \"ln\" created on \"" + SERVER_3 + "\"",
+ "GatewaySender \"ln\" created on \"" + SERVER_4 + "\"",
+ "GatewaySender \"ln\" created on \"" + SERVER_5 + "\"");
VMProvider.invokeInEveryMember(() -> verifySenderState("ln", true, false),
server1, server2,
server3);
locatorSite1.invoke(() -> {
- String xml =
ClusterStartupRule.getLocator().getConfigurationPersistenceService()
- .getConfiguration("cluster").getCacheXmlContent();
- assertThat(xml).contains("<gateway-sender id=\"ln\"
remote-distributed-system-id=\"2\""
- + " parallel=\"false\"/>");
+ InternalLocator locator = ClusterStartupRule.getLocator();
+ assertThat(locator).isNotNull();
+ String xml =
locator.getConfigurationPersistenceService().getConfiguration("cluster")
+ .getCacheXmlContent();
+ assertThat(xml).contains(
+ "<gateway-sender id=\"ln\" remote-distributed-system-id=\"2\"
parallel=\"false\" manual-start=\"false\" enable-batch-conflation=\"false\"
enable-persistence=\"false\" disk-synchronous=\"true\"/>");
});
// destroy gateway sender and verify AEQs cleaned up
-
gfsh.executeAndAssertThat(DESTROY).statusIsSuccess().tableHasColumnWithExactValuesInAnyOrder(
- "Message", "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_4 + "\"",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_5 + "\"");
+ gfsh.executeAndAssertThat(DESTROY).statusIsSuccess()
+ .hasTableSection().hasRowSize(3).hasColumn("Message").containsOnly(
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"",
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_4 + "\"",
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_5 + "\"");
VMProvider.invokeInEveryMember(() -> verifySenderDoesNotExist("ln",
false), server1, server2,
server3);
locatorSite1.invoke(() -> {
- String xml =
ClusterStartupRule.getLocator().getConfigurationPersistenceService()
- .getConfiguration("cluster").getCacheXmlContent();
+ InternalLocator locator = ClusterStartupRule.getLocator();
+ assertThat(locator).isNotNull();
+ String xml =
locator.getConfigurationPersistenceService().getConfiguration("cluster")
+ .getCacheXmlContent();
assertThat(xml).doesNotContain("gateway-sender id=\"ln\"");
});
}
@@ -130,7 +137,7 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
* GatewaySender with given attribute values +
*/
@Test
- public void testCreateDestroyGatewaySender() throws Exception {
+ public void testCreateDestroyGatewaySender() {
int socketReadTimeout = GatewaySender.MINIMUM_SOCKET_READ_TIMEOUT + 1000;
String command = CliStrings.CREATE_GATEWAYSENDER + " --" +
CliStrings.CREATE_GATEWAYSENDER__ID
+ "=ln" + " --" +
CliStrings.CREATE_GATEWAYSENDER__REMOTEDISTRIBUTEDSYSTEMID + "=2" + " --"
@@ -147,10 +154,12 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
+ CliStrings.CREATE_GATEWAYSENDER__ALERTTHRESHOLD + "=100" + " --"
+ CliStrings.CREATE_GATEWAYSENDER__DISPATCHERTHREADS + "=2" + " --"
+ CliStrings.CREATE_GATEWAYSENDER__ORDERPOLICY + "=THREAD";
-
gfsh.executeAndAssertThat(command).statusIsSuccess().tableHasColumnWithExactValuesInAnyOrder(
- "Message", "GatewaySender \"ln\" created on \"" + SERVER_3 + "\"",
- "GatewaySender \"ln\" created on \"" + SERVER_4 + "\"",
- "GatewaySender \"ln\" created on \"" + SERVER_5 + "\"");
+
+ gfsh.executeAndAssertThat(command).statusIsSuccess()
+ .hasTableSection().hasRowSize(3).hasColumn("Message").containsOnly(
+ "GatewaySender \"ln\" created on \"" + SERVER_3 + "\"",
+ "GatewaySender \"ln\" created on \"" + SERVER_4 + "\"",
+ "GatewaySender \"ln\" created on \"" + SERVER_5 + "\"");
VMProvider.invokeInEveryMember(() -> {
verifySenderState("ln", false, false);
@@ -159,10 +168,11 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
}, server1, server2, server3);
// destroy gateway sender and verify AEQs cleaned up
-
gfsh.executeAndAssertThat(DESTROY).statusIsSuccess().tableHasColumnWithExactValuesInAnyOrder(
- "Message", "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_4 + "\"",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_5 + "\"");
+ gfsh.executeAndAssertThat(DESTROY).statusIsSuccess()
+ .hasTableSection().hasRowSize(3).hasColumn("Message").containsOnly(
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"",
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_4 + "\"",
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_5 + "\"");
VMProvider.invokeInEveryMember(() -> verifySenderDoesNotExist("ln",
false), server1, server2,
server3);
@@ -172,7 +182,7 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
* GatewaySender with given attribute values and event filters.
*/
@Test
- public void testCreateDestroyGatewaySenderWithGatewayEventFilters() throws
Exception {
+ public void testCreateDestroyGatewaySenderWithGatewayEventFilters() {
int socketReadTimeout = GatewaySender.MINIMUM_SOCKET_READ_TIMEOUT + 1000;
String command = CliStrings.CREATE_GATEWAYSENDER + " --" +
CliStrings.CREATE_GATEWAYSENDER__ID
+ "=ln" + " --" +
CliStrings.CREATE_GATEWAYSENDER__REMOTEDISTRIBUTEDSYSTEMID + "=2" + " --"
@@ -192,10 +202,11 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
+ CliStrings.CREATE_GATEWAYSENDER__GATEWAYEVENTFILTER
+
"=org.apache.geode.cache30.MyGatewayEventFilter1,org.apache.geode.cache30.MyGatewayEventFilter2";
-
gfsh.executeAndAssertThat(command).statusIsSuccess().tableHasColumnWithExactValuesInAnyOrder(
- "Message", "GatewaySender \"ln\" created on \"" + SERVER_3 + "\"",
- "GatewaySender \"ln\" created on \"" + SERVER_4 + "\"",
- "GatewaySender \"ln\" created on \"" + SERVER_5 + "\"");
+ gfsh.executeAndAssertThat(command).statusIsSuccess()
+ .hasTableSection().hasRowSize(3).hasColumn("Message").containsOnly(
+ "GatewaySender \"ln\" created on \"" + SERVER_3 + "\"",
+ "GatewaySender \"ln\" created on \"" + SERVER_4 + "\"",
+ "GatewaySender \"ln\" created on \"" + SERVER_5 + "\"");
List<String> eventFilters = new ArrayList<>();
eventFilters.add("org.apache.geode.cache30.MyGatewayEventFilter1");
@@ -208,10 +219,11 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
}, server1, server2, server3);
// destroy gateway sender and verify AEQs cleaned up
-
gfsh.executeAndAssertThat(DESTROY).statusIsSuccess().tableHasColumnWithExactValuesInAnyOrder(
- "Message", "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_4 + "\"",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_5 + "\"");
+ gfsh.executeAndAssertThat(DESTROY).statusIsSuccess()
+ .hasTableSection().hasRowSize(3).hasColumn("Message").containsOnly(
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"",
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_4 + "\"",
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_5 + "\"");
VMProvider.invokeInEveryMember(() -> verifySenderDoesNotExist("ln",
false), server1, server2,
server3);
@@ -221,7 +233,7 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
* GatewaySender with given attribute values and transport filters.
*/
@Test
- public void testCreateDestroyGatewaySenderWithGatewayTransportFilters()
throws Exception {
+ public void testCreateDestroyGatewaySenderWithGatewayTransportFilters() {
int socketReadTimeout = GatewaySender.MINIMUM_SOCKET_READ_TIMEOUT + 1000;
String command = CliStrings.CREATE_GATEWAYSENDER + " --" +
CliStrings.CREATE_GATEWAYSENDER__ID
+ "=ln" + " --" +
CliStrings.CREATE_GATEWAYSENDER__REMOTEDISTRIBUTEDSYSTEMID + "=2" + " --"
@@ -240,10 +252,12 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
+ CliStrings.CREATE_GATEWAYSENDER__ORDERPOLICY + "=THREAD" + " --"
+ CliStrings.CREATE_GATEWAYSENDER__GATEWAYTRANSPORTFILTER
+ "=org.apache.geode.cache30.MyGatewayTransportFilter1";
-
gfsh.executeAndAssertThat(command).statusIsSuccess().tableHasColumnWithExactValuesInAnyOrder(
- "Message", "GatewaySender \"ln\" created on \"" + SERVER_3 + "\"",
- "GatewaySender \"ln\" created on \"" + SERVER_4 + "\"",
- "GatewaySender \"ln\" created on \"" + SERVER_5 + "\"");
+
+ gfsh.executeAndAssertThat(command).statusIsSuccess()
+ .hasTableSection().hasRowSize(3).hasColumn("Message").containsOnly(
+ "GatewaySender \"ln\" created on \"" + SERVER_3 + "\"",
+ "GatewaySender \"ln\" created on \"" + SERVER_4 + "\"",
+ "GatewaySender \"ln\" created on \"" + SERVER_5 + "\"");
List<String> transportFilters = new ArrayList<>();
transportFilters.add("org.apache.geode.cache30.MyGatewayTransportFilter1");
@@ -255,10 +269,11 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
}, server1, server2, server3);
// destroy gateway sender and verify AEQs cleaned up
-
gfsh.executeAndAssertThat(DESTROY).statusIsSuccess().tableHasColumnWithExactValuesInAnyOrder(
- "Message", "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_4 + "\"",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_5 + "\"");
+ gfsh.executeAndAssertThat(DESTROY).statusIsSuccess()
+ .hasTableSection().hasRowSize(3).hasColumn("Message").containsOnly(
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"",
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_4 + "\"",
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_5 + "\"");
VMProvider.invokeInEveryMember(() -> verifySenderDoesNotExist("ln",
false), server1, server2,
server3);
@@ -268,20 +283,17 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
* GatewaySender with given attribute values on given member.
*/
@Test
- public void testCreateDestroyGatewaySender_OnMember() throws Exception {
+ public void testCreateDestroyGatewaySender_OnMember() {
gfsh.executeAndAssertThat(CREATE + " --member=" +
server1.getName()).statusIsSuccess()
- .tableHasColumnWithExactValuesInAnyOrder("Message",
- "GatewaySender \"ln\" created on \"" + SERVER_3 + "\"");
-
- server1.invoke(() -> {
- verifySenderState("ln", true, false);
- });
+ .hasTableSection().hasRowSize(1).hasColumn("Message")
+ .containsOnly("GatewaySender \"ln\" created on \"" + SERVER_3 + "\"");
+ server1.invoke(() -> verifySenderState("ln", true, false));
VMProvider.invokeInEveryMember(() -> verifySenderDoesNotExist("ln",
false), server2, server3);
gfsh.executeAndAssertThat(DESTROY + " --member=" +
server1.getName()).statusIsSuccess()
- .tableHasColumnWithExactValuesInAnyOrder("Message",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"");
+ .hasTableSection().hasRowSize(1).hasColumn("Message")
+ .containsOnly("GatewaySender \"ln\" destroyed on \"" + SERVER_3 +
"\"");
VMProvider.invokeInEveryMember(() -> verifySenderDoesNotExist("ln",
false), server1);
}
@@ -290,20 +302,17 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
* GatewaySender with given attribute values on given group
*/
@Test
- public void testCreateDestroyGatewaySender_Group() throws Exception {
+ public void testCreateDestroyGatewaySender_Group() {
gfsh.executeAndAssertThat(CREATE + "
--group=senderGroup1").statusIsSuccess()
- .tableHasColumnWithExactValuesInAnyOrder("Message",
- "GatewaySender \"ln\" created on \"" + SERVER_3 + "\"");
-
- server1.invoke(() -> {
- verifySenderState("ln", true, false);
- });
+ .hasTableSection().hasRowSize(1).hasColumn("Message")
+ .containsOnly("GatewaySender \"ln\" created on \"" + SERVER_3 + "\"");
+ server1.invoke(() -> verifySenderState("ln", true, false));
VMProvider.invokeInEveryMember(() -> verifySenderDoesNotExist("ln",
false), server2, server3);
gfsh.executeAndAssertThat(DESTROY + "
--group=senderGroup1").statusIsSuccess()
- .tableHasColumnWithExactValuesInAnyOrder("Message",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"");
+ .hasTableSection().hasRowSize(1).hasColumn("Message")
+ .containsOnly("GatewaySender \"ln\" destroyed on \"" + SERVER_3 +
"\"");
VMProvider.invokeInEveryMember(() -> verifySenderDoesNotExist("ln",
false), server1);
}
@@ -312,18 +321,19 @@ public class CreateDestroyGatewaySenderCommandDUnitTest
implements Serializable
* Parallel GatewaySender with given attribute values +
*/
@Test
- public void testCreateDestroyParallelGatewaySender() throws Exception {
+ public void testCreateDestroyParallelGatewaySender() {
gfsh.executeAndAssertThat(CREATE + " --parallel").statusIsSuccess()
- .tableHasColumnWithExactValuesInAnyOrder("Message",
+ .hasTableSection().hasRowSize(3).hasColumn("Message").containsOnly(
"GatewaySender \"ln\" created on \"" + SERVER_3 + "\"",
"GatewaySender \"ln\" created on \"" + SERVER_4 + "\"",
"GatewaySender \"ln\" created on \"" + SERVER_5 + "\"");
// destroy gateway sender and verify AEQs cleaned up
-
gfsh.executeAndAssertThat(DESTROY).statusIsSuccess().tableHasColumnWithExactValuesInAnyOrder(
- "Message", "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_4 + "\"",
- "GatewaySender \"ln\" destroyed on \"" + SERVER_5 + "\"");
+ gfsh.executeAndAssertThat(DESTROY).statusIsSuccess()
+ .hasTableSection().hasRowSize(3).hasColumn("Message").containsOnly(
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_3 + "\"",
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_4 + "\"",
+ "GatewaySender \"ln\" destroyed on \"" + SERVER_5 + "\"");
VMProvider.invokeInEveryMember(() -> verifySenderDoesNotExist("ln",
false), server1, server2,
server3);