You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2016/05/03 23:52:38 UTC
[49/50] [abbrv] incubator-geode git commit: Merge remote-tracking
branch 'origin/develop' into feature/GEODE-1255
Merge remote-tracking branch 'origin/develop' into feature/GEODE-1255
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/f6334f2f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/f6334f2f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/f6334f2f
Branch: refs/heads/feature/GEODE-1255
Commit: f6334f2f52ed1c787a5a5529ffdf97192a0599e8
Parents: 0fc02ae b8fc3c7
Author: Kirk Lund <kl...@apache.org>
Authored: Tue May 3 13:55:11 2016 -0700
Committer: Kirk Lund <kl...@apache.org>
Committed: Tue May 3 13:55:11 2016 -0700
----------------------------------------------------------------------
BUILDING.md | 2 +-
build.gradle | 4 +
.../SessionReplicationIntegrationJUnitTest.java | 30 +-
.../session/junit/PerTestClassLoaderRunner.java | 138 +--
geode-assembly/build.gradle | 1 +
.../LauncherLifecycleCommandsDUnitTest.java | 3 +
.../src/test/resources/expected_jars.txt | 1 +
geode-core/build.gradle | 4 +-
.../cache/operations/OperationContext.java | 556 ++++------
.../gemfire/distributed/DistributedSystem.java | 7 +-
.../internal/AbstractDistributionConfig.java | 48 +-
.../distributed/internal/ConfigAttribute.java | 1 -
.../internal/ConfigAttributeChecker.java | 1 -
.../internal/ConfigAttributeDesc.java | 3 -
.../internal/ConfigAttributeGetter.java | 3 -
.../internal/ConfigAttributeSetter.java | 3 -
.../internal/DistributionConfig.java | 7 +
.../internal/DistributionConfigImpl.java | 38 +-
.../internal/InternalDistributedSystem.java | 240 ++--
.../membership/gms/fd/GMSHealthMonitor.java | 7 +-
.../gemfire/internal/AbstractConfig.java | 28 +-
.../internal/cache/DistributedRegion.java | 11 +-
.../internal/cache/GemFireCacheImpl.java | 20 +-
.../cache/tier/sockets/CacheClientNotifier.java | 36 +-
.../gemfire/internal/i18n/LocalizedStrings.java | 2 +
.../internal/security/AuthorizeRequest.java | 5 -
.../internal/security/GeodeSecurityUtil.java | 167 +++
.../security/shiro/CustomAuthRealm.java | 176 +++
.../security/shiro/JMXShiroAuthenticator.java | 69 ++
.../management/AsyncEventQueueMXBean.java | 5 +
.../gemfire/management/CacheServerMXBean.java | 12 +-
.../gemfire/management/DiskStoreMXBean.java | 9 +
.../DistributedLockServiceMXBean.java | 8 +-
.../management/DistributedRegionMXBean.java | 5 +
.../management/DistributedSystemMXBean.java | 30 +-
.../management/GatewayReceiverMXBean.java | 8 +-
.../gemfire/management/GatewaySenderMXBean.java | 12 +-
.../gemfire/management/LocatorMXBean.java | 5 +
.../gemfire/management/LockServiceMXBean.java | 10 +-
.../gemfire/management/ManagerMXBean.java | 12 +-
.../gemfire/management/MemberMXBean.java | 15 +-
.../gemfire/management/RegionMXBean.java | 4 +
.../management/internal/ManagementAgent.java | 126 ++-
.../internal/SystemManagementService.java | 39 +-
.../internal/beans/GatewaySenderMBean.java | 8 +-
.../internal/beans/MemberMBeanBridge.java | 17 +-
.../management/internal/cli/CommandManager.java | 3 -
.../internal/cli/commands/ClientCommands.java | 50 +-
.../internal/cli/commands/ConfigCommands.java | 44 +-
.../CreateAlterDestroyRegionCommands.java | 42 +-
.../internal/cli/commands/DataCommands.java | 36 +-
.../internal/cli/commands/DeployCommands.java | 21 +-
.../cli/commands/DiskStoreCommands.java | 64 +-
.../cli/commands/DurableClientCommands.java | 45 +-
...ExportImportSharedConfigurationCommands.java | 23 +-
.../internal/cli/commands/FunctionCommands.java | 33 +-
.../internal/cli/commands/GfshHelpCommands.java | 13 +-
.../internal/cli/commands/IndexCommands.java | 39 +-
.../cli/commands/LauncherLifecycleCommands.java | 81 +-
.../internal/cli/commands/MemberCommands.java | 27 +-
.../cli/commands/MiscellaneousCommands.java | 99 +-
.../internal/cli/commands/PDXCommands.java | 33 +-
.../internal/cli/commands/QueueCommands.java | 25 +-
.../internal/cli/commands/RegionCommands.java | 17 +-
.../internal/cli/commands/ShellCommands.java | 106 +-
.../internal/cli/commands/StatusCommands.java | 24 +-
.../internal/cli/commands/WanCommands.java | 336 +++---
.../internal/cli/remote/CommandProcessor.java | 24 +-
.../internal/cli/result/ErrorResultData.java | 10 +-
.../internal/cli/result/ResultBuilder.java | 7 +-
.../internal/cli/shell/JmxOperationInvoker.java | 70 +-
.../internal/security/AccessControl.java | 51 -
.../internal/security/AccessControlContext.java | 37 -
.../internal/security/AccessControlMBean.java | 41 +
.../internal/security/AccessControlMXBean.java | 6 +-
.../internal/security/CLIOperationContext.java | 138 ---
.../internal/security/JMXOperationContext.java | 177 ---
.../internal/security/JSONAuthorization.java | 308 ------
.../internal/security/MBeanServerWrapper.java | 168 ++-
.../security/ManagementInterceptor.java | 271 -----
.../management/internal/security/Resource.java | 26 -
.../internal/security/ResourceConstants.java | 91 +-
.../internal/security/ResourceOperation.java | 13 +-
.../security/ResourceOperationContext.java | 221 +---
.../controllers/AbstractCommandsController.java | 82 +-
.../controllers/ConfigCommandsController.java | 20 +-
.../web/controllers/DataCommandsController.java | 26 +-
.../DiskStoreCommandsController.java | 14 +-
.../controllers/FunctionCommandsController.java | 9 +-
.../MiscellaneousCommandsController.java | 8 +-
.../web/controllers/WanCommandsController.java | 2 +-
.../EnvironmentVariablesHandlerInterceptor.java | 92 --
.../support/LoginHandlerInterceptor.java | 122 ++
.../web/http/support/SimpleHttpRequester.java | 105 +-
.../web/shell/AbstractHttpOperationInvoker.java | 28 +-
.../web/shell/RestHttpOperationInvoker.java | 26 +-
.../web/shell/SimpleHttpOperationInvoker.java | 11 +-
.../gemfire/security/AccessControl.java | 16 +-
.../gemfire/security/Authenticator.java | 18 +-
.../cache30/ClientMembershipDUnitTest.java | 347 +++---
.../gemfire/cache30/ReconnectDUnitTest.java | 235 ++--
.../internal/DistributionConfigJUnitTest.java | 74 +-
.../gemfire/internal/ConfigSourceJUnitTest.java | 8 +-
.../extension/mock/MockExtensionCommands.java | 23 +-
.../internal/cache/ha/Bug48571DUnitTest.java | 34 +-
.../internal/cli/CommandManagerJUnitTest.java | 45 +-
.../internal/cli/GfshParserJUnitTest.java | 45 +-
.../management/internal/cli/HeadlessGfsh.java | 2 +-
.../cli/commands/CliCommandTestBase.java | 126 ++-
.../cli/commands/ConfigCommandsDUnitTest.java | 26 +-
...eateAlterDestroyRegionCommandsDUnitTest.java | 34 +-
.../cli/commands/DeployCommandsDUnitTest.java | 14 +-
.../commands/DiskStoreCommandsDUnitTest.java | 30 +-
.../commands/DiskStoreCommandsJUnitTest.java | 1 +
.../cli/commands/FunctionCommandsDUnitTest.java | 112 +-
.../commands/GemfireDataCommandsDUnitTest.java | 28 +-
...WithCacheLoaderDuringCacheMissDUnitTest.java | 14 +-
.../cli/commands/IndexCommandsDUnitTest.java | 21 +-
...stAndDescribeDiskStoreCommandsDUnitTest.java | 14 +-
.../ListAndDescribeRegionDUnitTest.java | 13 +-
.../cli/commands/ListIndexCommandDUnitTest.java | 122 +-
.../MiscellaneousCommandsDUnitTest.java | 40 +-
...laneousCommandsExportLogsPart1DUnitTest.java | 15 +-
...laneousCommandsExportLogsPart2DUnitTest.java | 16 +-
...laneousCommandsExportLogsPart3DUnitTest.java | 24 +-
...laneousCommandsExportLogsPart4DUnitTest.java | 15 +-
.../cli/commands/QueueCommandsDUnitTest.java | 16 +-
.../SharedConfigurationCommandsDUnitTest.java | 9 +-
.../cli/commands/ShellCommandsDUnitTest.java | 12 +-
.../cli/commands/ShowMetricsDUnitTest.java | 16 +-
.../cli/commands/ShowStackTraceDUnitTest.java | 14 +-
.../cli/commands/ToUpperResultCollector.java | 65 ++
.../cli/commands/UserCommandsDUnitTest.java | 16 +-
.../shell/GfshExecutionStrategyJUnitTest.java | 36 +-
.../cli/shell/GfshHistoryJUnitTest.java | 2 -
.../security/AccessControlMBeanJUnitTest.java | 58 +
...rDistributedSystemMXBeanIntegrationTest.java | 50 -
...horizeOperationForMBeansIntegrationTest.java | 323 ------
...erationForRegionCommandsIntegrationTest.java | 136 ---
...CacheServerMBeanAuthenticationJUnitTest.java | 58 +
.../CacheServerMBeanAuthorizationJUnitTest.java | 90 ++
.../CacheServerMBeanShiroJUnitTest.java | 93 ++
.../security/CliCommandsSecurityTest.java | 83 ++
.../security/DataCommandsSecurityTest.java | 83 ++
.../DiskStoreMXBeanSecurityJUnitTest.java | 83 ++
.../security/ExampleJSONAuthorization.java | 197 ++++
.../GatewayReceiverMBeanSecurityTest.java | 90 ++
.../GatewaySenderMBeanSecurityTest.java | 105 ++
.../GeodeSecurityUtilCustomRealmJUnitTest.java | 52 +
.../GeodeSecurityUtilWithIniFileJUnitTest.java | 147 +++
.../security/GfshCommandsSecurityTest.java | 165 +++
.../security/GfshShellConnectionRule.java | 109 ++
.../security/JMXConnectionConfiguration.java | 33 +
.../internal/security/JSONAuthorization.java | 201 ++++
...JSONAuthorizationDetailsIntegrationTest.java | 163 ---
.../JsonAuthorizationCacheStartRule.java | 83 ++
.../LockServiceMBeanAuthorizationJUnitTest.java | 90 ++
.../security/MBeanSecurityJUnitTest.java | 117 ++
.../security/MBeanServerConnectionRule.java | 130 +++
.../ManagerMBeanAuthorizationJUnitTest.java | 78 ++
.../security/MemberMBeanSecurityJUnitTest.java | 110 ++
...tionCodesForDataCommandsIntegrationTest.java | 101 --
...tionCodesForDistributedSystemMXBeanTest.java | 76 --
.../ResourceOperationContextJUnitTest.java | 88 ++
.../internal/security/ShiroCacheStartRule.java | 63 ++
.../internal/security/TestCommand.java | 227 ++++
.../ReadOpFileAccessControllerJUnitTest.java | 19 +-
.../security/ClientAuthorizationDUnitTest.java | 7 +-
.../security/ClientAuthorizationTestCase.java | 20 +-
.../DeltaClientPostAuthorizationDUnitTest.java | 21 +-
.../security/templates/XmlAuthorization.java | 2 +-
.../com/gemstone/gemfire/test/dunit/VM.java | 62 +-
.../gemstone/gemfire/util/test/TestUtil.java | 8 +-
.../gemfire/codeAnalysis/excludedClasses.txt | 28 +-
.../codeAnalysis/sanctionedSerializables.txt | 2 +
.../management/internal/security/auth1.json | 28 +-
.../management/internal/security/auth3.json | 55 +-
.../internal/security/cacheServer.json | 188 ++++
.../management/internal/security/shiro-ini.json | 87 ++
.../internal/security/testInheritRole.json | 40 -
.../security/testSimpleUserAndRole.json | 14 -
.../testUserAndRoleRegionServerGroup.json | 16 -
.../internal/security/testUserMultipleRole.json | 20 -
geode-core/src/test/resources/shiro.ini | 40 +
.../cli/commands/ClientCommandsDUnitTest.java | 53 +-
.../DurableClientCommandsDUnitTest.java | 2 +-
.../junit/rules/DescribedExternalResource.java | 63 ++
.../gemfire/cache/lucene/LuceneIndex.java | 2 +-
.../LuceneIndexForReplicatedRegion.java | 2 +-
.../cache/lucene/internal/LuceneIndexImpl.java | 14 +-
.../lucene/internal/LuceneServiceImpl.java | 21 +-
.../internal/xml/LuceneIndexCreation.java | 42 +-
.../internal/xml/LuceneIndexXmlGenerator.java | 5 +
.../lucene/internal/xml/LuceneXmlConstants.java | 1 +
.../lucene/internal/xml/LuceneXmlParser.java | 27 +-
.../geode.apache.org/lucene/lucene-1.0.xsd | 1 +
.../LuceneFunctionReadPathDUnitTest.java | 17 +-
...uceneIndexXmlParserIntegrationJUnitTest.java | 52 +-
.../xml/LuceneIndexXmlParserJUnitTest.java | 97 +-
...erIntegrationJUnitTest.createIndex.cache.xml | 7 +-
...nJUnitTest.parseIndexWithAnalyzers.cache.xml | 36 +
geode-pulse/build.gradle | 1 +
.../tools/pulse/internal/PulseAppListener.java | 68 +-
.../internal/controllers/PulseController.java | 28 +-
.../tools/pulse/internal/data/Cluster.java | 14 +-
.../pulse/internal/data/JMXDataUpdater.java | 217 ++--
.../pulse/internal/data/PulseConstants.java | 14 +
.../tools/pulse/internal/data/Repository.java | 54 +-
.../pulse/internal/log/PulseLogWriter.java | 4 -
.../security/GemFireAuthentication.java | 91 ++
.../security/GemFireAuthenticationProvider.java | 80 ++
.../pulse/internal/security/LogoutHandler.java | 55 +
geode-pulse/src/main/resources/pulse.properties | 12 +-
.../src/main/webapp/WEB-INF/spring-security.xml | 59 +-
.../controllers/PulseControllerJUnitTest.java | 56 +-
.../tools/pulse/testbed/driver/PulseUITest.java | 2 +-
.../pulse/tests/DataBrowserResultLoader.java | 14 +-
.../tools/pulse/tests/PulseAbstractTest.java | 1047 ++++++++++++++++++
.../tools/pulse/tests/PulseAuthTest.java | 33 +
.../tools/pulse/tests/PulseAutomatedTest.java | 17 +-
.../tools/pulse/tests/PulseBaseTest.java | 4 +-
.../tools/pulse/tests/PulseNoAuthTest.java | 33 +
.../gemfire/tools/pulse/tests/PulseTest.java | 1039 -----------------
.../gemfire/tools/pulse/tests/Region.java | 2 +-
.../gemfire/tools/pulse/tests/Server.java | 156 ++-
geode-pulse/src/test/resources/pulse-auth.json | 21 +
.../cache/wan/CacheClientNotifierDUnitTest.java | 106 +-
.../cache/wan/Simple2CacheServerDUnitTest.java | 157 +++
.../wan/wancommand/WANCommandTestBase.java | 104 +-
...anCommandCreateGatewayReceiverDUnitTest.java | 174 +--
.../WanCommandCreateGatewaySenderDUnitTest.java | 192 ++--
...WanCommandGatewayReceiverStartDUnitTest.java | 120 +-
.../WanCommandGatewayReceiverStopDUnitTest.java | 120 +-
.../WanCommandGatewaySenderStartDUnitTest.java | 177 ++-
.../WanCommandGatewaySenderStopDUnitTest.java | 158 +--
.../wan/wancommand/WanCommandListDUnitTest.java | 135 ++-
.../WanCommandPauseResumeDUnitTest.java | 370 +++----
.../wancommand/WanCommandStatusDUnitTest.java | 174 +--
.../src/main/webapp/WEB-INF/gemfire-servlet.xml | 2 +-
...entVariablesHandlerInterceptorJUnitTest.java | 267 -----
.../LoginHandlerInterceptorJUnitTest.java | 274 +++++
gradle.properties | 1 +
gradle/dependency-versions.properties | 1 +
gradle/wrapper/gradle-wrapper.jar | Bin 53637 -> 53639 bytes
gradle/wrapper/gradle-wrapper.properties | 2 +-
settings.gradle | 1 -
246 files changed, 10184 insertions(+), 7052 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6334f2f/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/HeadlessGfsh.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6334f2f/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
----------------------------------------------------------------------
diff --cc geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
index 0ab68c8,f2dc80f..3b99733
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
@@@ -30,21 -45,8 +45,11 @@@ import com.gemstone.gemfire.management.
import com.gemstone.gemfire.test.dunit.Host;
import com.gemstone.gemfire.test.dunit.cache.internal.JUnit4CacheTestCase;
- import java.io.IOException;
- import java.io.PrintStream;
- import java.net.InetAddress;
- import java.net.UnknownHostException;
- import java.util.Map;
- import java.util.Properties;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
-
- import static com.gemstone.gemfire.test.dunit.Assert.*;
- import static com.gemstone.gemfire.test.dunit.LogWriterUtils.getLogWriter;
+ import org.junit.runners.Parameterized;
+import org.junit.Rule;
+import org.junit.rules.TemporaryFolder;
+
/**
* Base class for all the CLI/gfsh command dunit tests.
*/
@@@ -58,30 -58,35 +61,51 @@@ public abstract class CliCommandTestBas
private transient HeadlessGfsh shell;
- private boolean useHttpOnConnect = Boolean.getBoolean("useHTTP");
+ protected boolean useHttpOnConnect = false;
+ protected boolean enableAuth = false;
+ protected String jsonAuthorization = "cacheServer.json";
+ protected String username = "super-user";
+ protected String password = "1234567";
- protected int httpPort;
- protected int jmxPort;
+ private transient int httpPort;
+ private transient int jmxPort;
+ private transient String jmxHost;
+ protected transient String gfshDir;
- protected String jmxHost;
+ @Rule
+ public transient TemporaryFolder temporaryFolder = new TemporaryFolder();
+ public CliCommandTestBase(){
+ this(false);
+ }
+
+ // Junit will use the parameters to initialize the test class and run the tests with different parameters
+ public CliCommandTestBase(boolean useHttpOnConnect){
+ this.useHttpOnConnect = useHttpOnConnect;
+ }
+
+ @Parameterized.Parameters
+ public static Collection parameters() {
+ return Arrays.asList(new Object[][] {
- { false}, // useHttpOnConnect=false,
- { true } // useHttpOnConnect=true,
++ { false}, // useHttpOnConnect=false,
++ { true } // useHttpOnConnect=true,
+ });
+ }
+
@Override
+ public final void postSetUp() throws Exception {
+ setUpCliCommandTestBase();
+ postSetUpCliCommandTestBase();
+ }
+
+ private void setUpCliCommandTestBase() throws Exception {
+ this.gfshDir = this.temporaryFolder.newFolder("gfsh_files").getCanonicalPath();
+ }
+
+ protected void postSetUpCliCommandTestBase() throws Exception {
+ }
+
+ @Override
public final void preTearDownCacheTestCase() throws Exception {
preTearDownCliCommandTestBase();
destroyDefaultSetup();
@@@ -151,8 -166,7 +185,7 @@@
/**
* Destroy all of the components created for the default setup.
*/
- @SuppressWarnings("serial")
- protected final void destroyDefaultSetup() {
+ protected final void destroyDefaultSetup() {
if (this.shell != null) {
executeCommand(shell, "exit");
this.shell.terminate();
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6334f2f/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/DeployCommandsDUnitTest.java
----------------------------------------------------------------------
diff --cc geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/DeployCommandsDUnitTest.java
index fc8bb05,e4b50b9..ac26b1b
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/DeployCommandsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/DeployCommandsDUnitTest.java
@@@ -55,17 -56,20 +56,22 @@@ import org.junit.runners.Parameterized
*/
@Category(DistributedTest.class)
@SuppressWarnings("serial")
+ @RunWith(Parameterized.class)
public class DeployCommandsDUnitTest extends CliCommandTestBase {
- File newDeployableJarFile = new File("DeployCommandsDUnit1.jar");
-
- transient private ClassBuilder classBuilder = new ClassBuilder();
- transient private CommandProcessor commandProcessor;
+ private final Pattern pattern = Pattern.compile("^" + JarDeployer.JAR_PREFIX + "DeployCommandsDUnit.*#\\d++$");
+ private File newDeployableJarFile;
+ private transient ClassBuilder classBuilder;
+ private transient CommandProcessor commandProcessor;
+ public DeployCommandsDUnitTest(boolean useHttpOnConnect){
+ super(useHttpOnConnect);
+ }
+
@Override
- public final void postSetUp() throws Exception {
+ public final void postSetUpCliCommandTestBase() throws Exception {
+ this.newDeployableJarFile = new File(this.temporaryFolder.getRoot().getCanonicalPath() + File.separator + "DeployCommandsDUnit1.jar");
+ this.classBuilder = new ClassBuilder();
this.commandProcessor = new CommandProcessor();
assertFalse(this.commandProcessor.isStopped());
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6334f2f/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/GetCommandOnRegionWithCacheLoaderDuringCacheMissDUnitTest.java
----------------------------------------------------------------------
diff --cc geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/GetCommandOnRegionWithCacheLoaderDuringCacheMissDUnitTest.java
index 9390ba0,55ef25c..ecf88bf
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/GetCommandOnRegionWithCacheLoaderDuringCacheMissDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/GetCommandOnRegionWithCacheLoaderDuringCacheMissDUnitTest.java
@@@ -70,63 -73,17 +72,67 @@@ public class GetCommandOnRegionWithCach
private static final String GEMFIRE_LOG_LEVEL = System.getProperty("logLevel", "config");
private static final String USERS_REGION_NAME = "Users";
-
+ public GetCommandOnRegionWithCacheLoaderDuringCacheMissDUnitTest(boolean useHttpOnConnect){
+ super(useHttpOnConnect);
+ }
+
- protected static String getRegionPath(final String regionName) {
- return (regionName.startsWith(Region.SEPARATOR) ? regionName : String.format("%1$s%2$s", Region.SEPARATOR,
- regionName));
+ @Override
+ public final void postSetUpCliCommandTestBase() throws Exception {
+ Properties managerDistributedSystemProperties = createDistributedSystemProperties(GEMFIRE_MANAGER_NAME);
- HeadlessGfsh gfsh = createDefaultSetup(managerDistributedSystemProperties);
++ HeadlessGfsh gfsh = setUpJmxManagerOnVm0ThenConnect(managerDistributedSystemProperties);
+
+ assertNotNull(gfsh);
+ assertTrue(gfsh.isConnectedAndReady());
+
+ setupGemFire();
+ verifyGemFireSetup(createPeer(getHost(0).getVM(0), managerDistributedSystemProperties));
+ }
+
+ @Test
+ public void testGetOnCacheMiss() {
+ doHousekeeping();
+
+ CommandStringBuilder command = new CommandStringBuilder(CliStrings.GET);
+ command.addOption(CliStrings.GET__REGIONNAME, USERS_REGION_NAME);
+ command.addOption(CliStrings.GET__KEY, "jonbloom");
+
+ assertResult(true, runCommand(command.toString()));
+
+ command = new CommandStringBuilder(CliStrings.GET);
+ command.addOption(CliStrings.GET__REGIONNAME, USERS_REGION_NAME);
+ command.addOption(CliStrings.GET__KEY, "jondoe");
+ command.addOption(CliStrings.GET__LOAD, "false");
+
+ assertResult(false, runCommand(command.toString()));
+
+ command = new CommandStringBuilder(CliStrings.GET);
+ command.addOption(CliStrings.GET__REGIONNAME, USERS_REGION_NAME);
+ command.addOption(CliStrings.GET__KEY, "jondoe");
+ command.addOption(CliStrings.GET__LOAD, "true");
+
+ assertResult(true, runCommand(command.toString()));
+
+ // NOTE test the unspecified default value for the --load-on-cache-miss
+ command = new CommandStringBuilder(CliStrings.GET);
+ command.addOption(CliStrings.GET__REGIONNAME, USERS_REGION_NAME);
+ command.addOption(CliStrings.GET__KEY, "janedoe");
+
+ assertResult(true, runCommand(command.toString()));
+
+ // NOTE now test an absolute cache miss both for in the Region as well as the CacheLoader
+ command = new CommandStringBuilder(CliStrings.GET);
+ command.addOption(CliStrings.GET__REGIONNAME, USERS_REGION_NAME);
+ command.addOption(CliStrings.GET__KEY, "nonexistinguser");
+ command.addOption(CliStrings.GET__LOAD, "true");
+
+ assertResult(false, runCommand(command.toString()));
+ }
+
+ private static String getRegionPath(final String regionName) {
+ return (regionName.startsWith(Region.SEPARATOR) ? regionName : String.format("%1$s%2$s", Region.SEPARATOR, regionName));
}
- protected static String toString(final Result result) {
+ private static String toString(final Result result) {
assert result != null : "The Result object from the command execution was null!";
StringBuilder buffer = new StringBuilder(System.getProperty("line.separator"));
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6334f2f/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListAndDescribeDiskStoreCommandsDUnitTest.java
----------------------------------------------------------------------
diff --cc geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListAndDescribeDiskStoreCommandsDUnitTest.java
index fcf3fc7,bb46b75..1f09e4d
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListAndDescribeDiskStoreCommandsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListAndDescribeDiskStoreCommandsDUnitTest.java
@@@ -49,51 -50,14 +50,56 @@@ import org.junit.runners.Parameterized
* @since 7.0
*/
@Category(DistributedTest.class)
+ @RunWith(Parameterized.class)
public class ListAndDescribeDiskStoreCommandsDUnitTest extends CliCommandTestBase {
+ public ListAndDescribeDiskStoreCommandsDUnitTest(boolean useHttpOnConnect) {
+ super(useHttpOnConnect);
+ }
+
- protected static String toString(final Result result) {
+ @Override
+ public final void postSetUpCliCommandTestBase() throws Exception {
- createDefaultSetup(null);
++ setUpJmxManagerOnVm0ThenConnect(null);
+ setupGemFire();
+ }
+
+ @Test
+ public void testListDiskStore() throws Exception {
+ final Result result = executeCommand(CliStrings.LIST_DISK_STORE);
+
+ assertNotNull(result);
+ getLogWriter().info(toString(result));
+ assertEquals(Result.Status.OK, result.getStatus());
+ }
+
+ @Test
+ public void testDescribeDiskStore() throws Exception {
+ final Result result = executeCommand(CliStrings.DESCRIBE_DISK_STORE + " --member=producerServer --name=producerData");
+
+ assertNotNull(result);
+ getLogWriter().info(toString(result));
+ assertEquals(Result.Status.OK, result.getStatus());
+ }
+
+ @Test
+ public void testDescribeDiskStoreWithInvalidMemberName() throws Exception {
+ final Result commandResult = executeCommand(CliStrings.DESCRIBE_DISK_STORE + " --member=badMemberName --name=producerData");
+
+ assertNotNull(commandResult);
+ assertEquals(Result.Status.ERROR, commandResult.getStatus());
+ assertEquals(CliStrings.format(CliStrings.MEMBER_NOT_FOUND_ERROR_MESSAGE, "badMemberName"), toString(commandResult));
+ }
+
+ @Test
+ public void testDescribeDiskStoreWithInvalidDiskStoreName() {
+ final Result commandResult = executeCommand(CliStrings.DESCRIBE_DISK_STORE + " --member=producerServer --name=badDiskStoreName");
+
+ assertNotNull(commandResult);
+ assertEquals(Result.Status.ERROR, commandResult.getStatus());
+ assertEquals("A disk store with name (badDiskStoreName) was not found on member (producerServer).", toString(commandResult));
+ }
+
+ private static String toString(final Result result) {
assert result != null : "The Result object from the command execution cannot be null!";
final StringBuilder buffer = new StringBuilder(System.getProperty("line.separator"));
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6334f2f/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListIndexCommandDUnitTest.java
----------------------------------------------------------------------
diff --cc geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListIndexCommandDUnitTest.java
index 3013ba6,97ca98a..c527a80
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListIndexCommandDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListIndexCommandDUnitTest.java
@@@ -31,9 -31,6 +31,11 @@@ import java.util.Random
import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
++import org.junit.runner.RunWith;
++import org.junit.runners.Parameterized;
+
import com.gemstone.gemfire.cache.Cache;
import com.gemstone.gemfire.cache.DataPolicy;
import com.gemstone.gemfire.cache.Region;
@@@ -58,7 -55,11 +60,7 @@@ import com.gemstone.gemfire.test.junit.
/**
* The ListIndexCommandDUnitTest class is distributed test suite of test cases for testing the index-based GemFire shell
-- * (Gfsh) commands. </p>
++ * (Gfsh) commands.
*
* @see com.gemstone.gemfire.management.internal.cli.commands.CliCommandTestBase
* @see com.gemstone.gemfire.management.internal.cli.commands.IndexCommands
@@@ -66,13 -67,18 +68,24 @@@
*/
@SuppressWarnings("unused")
@Category(DistributedTest.class)
+ @RunWith(Parameterized.class)
public class ListIndexCommandDUnitTest extends CliCommandTestBase {
-- protected static final int DEFAULT_REGION_INITIAL_CAPACITY = 10000;
++ private static final int DEFAULT_REGION_INITIAL_CAPACITY = 10000;
private final AtomicLong idGenerator = new AtomicLong(0l);
- protected static String toString(final Result result) {
+ public ListIndexCommandDUnitTest(boolean useHttpOnConnect) {
+ super(useHttpOnConnect);
+ }
+
- protected static String toString(final Result result) {
++ @Override
++ public final void postSetUpCliCommandTestBase() throws Exception {
++ setUpJmxManagerOnVm0ThenConnect(null);
++ setupGemFire();
++ }
++
++ private static String toString(final Result result) {
assert result != null : "The Result object from the command execution cannot be null!";
final StringBuilder buffer = new StringBuilder(System.getProperty("line.separator"));
@@@ -85,48 -91,48 +98,41 @@@
return buffer.toString();
}
-- @Override
- public final void postSetUpCliCommandTestBase() throws Exception {
- createDefaultSetup(null);
- public final void postSetUp() throws Exception {
- setUpJmxManagerOnVm0ThenConnect(null);
-- setupGemFire();
-- }
--
-- protected Index createIndex(final String name, final String indexedExpression, final String fromClause) {
++ private Index createIndex(final String name, final String indexedExpression, final String fromClause) {
return createIndex(name, IndexType.FUNCTIONAL, indexedExpression, fromClause);
}
-- protected Index createIndex(final String name, final IndexType type, final String indexedExpression,
-- final String fromClause) {
++ private Index createIndex(final String name, final IndexType type, final String indexedExpression, final String fromClause) {
return new IndexAdapter(name, type, indexedExpression, fromClause);
}
-- protected Peer createPeer(final VM vm, final Properties distributedSystemProperties,
-- final RegionDefinition... regions) {
++ private Peer createPeer(final VM vm, final Properties distributedSystemProperties, final RegionDefinition... regions) {
final Peer peer = new Peer(vm, distributedSystemProperties);
peer.add(regions);
return peer;
}
-- protected RegionDefinition createRegionDefinition(final String regionName, final Class<?> keyConstraint,
-- final Class<?> valueConstraint, final Index... indexes) {
++ private RegionDefinition createRegionDefinition(final String regionName, final Class<?> keyConstraint, final Class<?> valueConstraint, final Index... indexes) {
final RegionDefinition regionDefinition = new RegionDefinition(regionName, keyConstraint, valueConstraint);
regionDefinition.add(indexes);
return regionDefinition;
}
-- protected void setupGemFire() throws Exception {
++ private void setupGemFire() throws Exception {
final Host host = Host.getHost(0);
final VM vm1 = host.getVM(1);
final VM vm2 = host.getVM(2);
-- final Peer peer1 = createPeer(vm1, createDistributedSystemProperties("consumerServer"),
-- createRegionDefinition("consumers", Long.class, Consumer.class,
-- createIndex("cidIdx", IndexType.PRIMARY_KEY, "id", "/consumers"),
-- createIndex("cnameIdx", "name", "/consumers")));
++ final Peer peer1 = createPeer(vm1,
++ createDistributedSystemProperties("consumerServer"),
++ createRegionDefinition("consumers", Long.class, Consumer.class,
++ createIndex("cidIdx", IndexType.PRIMARY_KEY, "id", "/consumers"),
++ createIndex("cnameIdx", "name", "/consumers")));
-- final Peer peer2 = createPeer(vm2, createDistributedSystemProperties("producerServer"),
-- createRegionDefinition("producers", Long.class, Producer.class, createIndex("pidIdx", "id", "/producers")));
++ final Peer peer2 = createPeer(vm2,
++ createDistributedSystemProperties("producerServer"),
++ createRegionDefinition("producers", Long.class, Producer.class, createIndex("pidIdx", "id", "/producers")));
createRegionWithIndexes(peer1);
createRegionWithIndexes(peer2);
@@@ -135,7 -141,7 +141,7 @@@
loadProducerData(peer2, 10000);
}
-- protected Properties createDistributedSystemProperties(final String gemfireName) {
++ private Properties createDistributedSystemProperties(final String gemfireName) {
final Properties distributedSystemProperties = new Properties();
distributedSystemProperties.setProperty(DistributionConfig.LOG_LEVEL_NAME, getDUnitLogLevel());
@@@ -144,9 -150,9 +150,8 @@@
return distributedSystemProperties;
}
-- protected void createRegionWithIndexes(final Peer peer) throws Exception {
-- peer.run(new SerializableRunnable(
-- String.format("Creating Regions with Indexes on GemFire peer (%1$s).", peer.getName())) {
++ private void createRegionWithIndexes(final Peer peer) throws Exception {
++ peer.run(new SerializableRunnable(String.format("Creating Regions with Indexes on GemFire peer (%1$s).", peer.getName())) {
public void run() {
// create the GemFire distributed system with custom configuration properties...
getSystem(peer.getConfiguration());
@@@ -176,16 -182,16 +181,14 @@@
}
}
} catch (Exception e) {
-- getLogWriter().error(
-- String.format("Error occurred creating Index (%1$s) on Region (%2$s) - (%3$s)", indexName,
-- region.getFullPath(), e.getMessage()));
++ getLogWriter().error(String.format("Error occurred creating Index (%1$s) on Region (%2$s) - (%3$s)", indexName, region.getFullPath(), e.getMessage()));
}
}
}
});
}
-- protected void loadConsumerData(final Peer peer, final int operationsTotal) throws Exception {
++ private void loadConsumerData(final Peer peer, final int operationsTotal) throws Exception {
peer.run(new SerializableRunnable("Load /consumers Region with data") {
public void run() {
final Cache cache = getCache();
@@@ -231,7 -237,7 +234,7 @@@
});
}
-- protected void loadProducerData(final Peer peer, final int operationsTotal) throws Exception {
++ private void loadProducerData(final Peer peer, final int operationsTotal) throws Exception {
peer.run(new SerializableRunnable("Load /producers Region with data") {
public void run() {
final Cache cache = getCache();
@@@ -276,14 -282,14 +279,13 @@@
}
@SuppressWarnings("unchecked")
-- protected <T extends Comparable<T>, B extends AbstractBean<T>> B query(final Cache cache, final String queryString) {
++ private <T extends Comparable<T>, B extends AbstractBean<T>> B query(final Cache cache, final String queryString) {
try {
getLogWriter().info(String.format("Running Query (%1$s) in GemFire...", queryString));
final SelectResults<B> results = (SelectResults<B>) cache.getQueryService().newQuery(queryString).execute();
-- getLogWriter().info(
-- String.format("Running Query (%1$s) in GemFire returned (%2$d) result(s).", queryString, results.size()));
++ getLogWriter().info(String.format("Running Query (%1$s) in GemFire returned (%2$d) result(s).", queryString, results.size()));
return (results.iterator().hasNext() ? results.iterator().next() : null);
} catch (Exception e) {
@@@ -291,23 -297,23 +293,17 @@@
}
}
-- protected <T extends Comparable<T>, B extends AbstractBean<T>> B query(final Region<T, B> region,
-- final String queryPredicate) {
++ private <T extends Comparable<T>, B extends AbstractBean<T>> B query(final Region<T, B> region, final String queryPredicate) {
try {
-- getLogWriter().info(
-- String.format("Running Query (%1$s) on Region (%2$s)...", queryPredicate, region.getFullPath()));
++ getLogWriter().info(String.format("Running Query (%1$s) on Region (%2$s)...", queryPredicate, region.getFullPath()));
final SelectResults<B> results = region.query(queryPredicate);
-- getLogWriter().info(
-- String.format("Running Query (%1$s) on Region (%2$s) returned (%3$d) result(s).", queryPredicate,
-- region.getFullPath(), results.size()));
++ getLogWriter().info(String.format("Running Query (%1$s) on Region (%2$s) returned (%3$d) result(s).", queryPredicate, region.getFullPath(), results.size()));
return (results.iterator().hasNext() ? results.iterator().next() : null);
} catch (Exception e) {
-- throw new RuntimeException(
-- String.format("An error occurred running Query (%1$s) on Region (%2$s)!", queryPredicate,
-- region.getFullPath()), e);
++ throw new RuntimeException(String.format("An error occurred running Query (%1$s) on Region (%2$s)!", queryPredicate, region.getFullPath()), e);
}
}
@@@ -320,7 -326,7 +316,7 @@@
assertEquals(Result.Status.OK, result.getStatus());
}
-- protected static class Peer implements Iterable<RegionDefinition>, Serializable {
++ private static class Peer implements Iterable<RegionDefinition>, Serializable {
private final Properties distributedSystemProperties;
@@@ -350,6 -356,6 +346,7 @@@
return (regionDefinitions != null && regions.addAll(Arrays.asList(regionDefinitions)));
}
++ @Override
public Iterator<RegionDefinition> iterator() {
return Collections.unmodifiableSet(regions).iterator();
}
@@@ -377,7 -383,7 +374,7 @@@
}
}
-- protected static class IndexAdapter implements Index, Serializable {
++ private static class IndexAdapter implements Index, Serializable {
private final IndexDetails.IndexType type;
@@@ -389,11 -395,11 +386,9 @@@
this(name, IndexType.FUNCTIONAL, indexedExpression, fromClause);
}
-- protected IndexAdapter(final String name, final IndexType type, final String indexedExpression,
-- final String fromClause) {
++ protected IndexAdapter(final String name, final IndexType type, final String indexedExpression, final String fromClause) {
assert name != null : "The name of the Index cannot be null!";
-- assert indexedExpression != null : String.format("The expression to index for Index (%1$s) cannot be null!",
-- name);
++ assert indexedExpression != null : String.format("The expression to index for Index (%1$s) cannot be null!", name);
assert fromClause != null : String.format("The from clause for Index (%1$s) cannot be null!", name);
this.type = ObjectUtils.defaultIfNull(IndexDetails.IndexType.valueOf(type), IndexDetails.IndexType.FUNCTIONAL);
@@@ -402,42 -408,42 +397,52 @@@
this.fromClause = fromClause;
}
++ @Override
public String getName() {
return this.name;
}
++ @Override
public String getFromClause() {
return this.fromClause;
}
++ @Override
public String getCanonicalizedFromClause() {
return this.fromClause;
}
++ @Override
public String getIndexedExpression() {
return this.indexedExpression;
}
++ @Override
public String getCanonicalizedIndexedExpression() {
return this.indexedExpression;
}
++ @Override
public String getProjectionAttributes() {
throw new UnsupportedOperationException("Not Implemented!");
}
++ @Override
public String getCanonicalizedProjectionAttributes() {
throw new UnsupportedOperationException("Not Implemented!");
}
++ @Override
public Region<?, ?> getRegion() {
throw new UnsupportedOperationException("Not Implemented!");
}
++ @Override
public IndexStatistics getStatistics() {
throw new UnsupportedOperationException("Not Implemented!");
}
++ @Override
public IndexType getType() {
return type.getType();
}
@@@ -454,7 -460,7 +459,7 @@@
}
}
-- protected static class RegionDefinition implements Iterable<Index>, Serializable {
++ private static class RegionDefinition implements Iterable<Index>, Serializable {
private final Class<?> keyConstraint;
private final Class<?> valueConstraint;
@@@ -487,6 -493,6 +492,7 @@@
return (indexes != null && this.indexes.addAll(Arrays.asList(indexes)));
}
++ @Override
public Iterator<Index> iterator() {
return Collections.unmodifiableSet(indexes).iterator();
}
@@@ -528,7 -534,7 +534,7 @@@
}
}
-- protected static abstract class AbstractBean<T extends Comparable<T>> implements MutableIdentifiable<T>, Serializable {
++ private static abstract class AbstractBean<T extends Comparable<T>> implements MutableIdentifiable<T>, Serializable {
private T id;
private String name;
@@@ -540,10 -546,10 +546,12 @@@
this.id = id;
}
++ @Override
public T getId() {
return id;
}
++ @Override
public void setId(final T id) {
this.id = id;
}
@@@ -588,7 -594,7 +596,7 @@@
}
}
-- public static class Consumer extends AbstractBean<Long> {
++ private static class Consumer extends AbstractBean<Long> {
private volatile int units;
@@@ -608,7 -614,7 +616,7 @@@
}
}
-- public static class Producer extends AbstractBean<Long> {
++ private static class Producer extends AbstractBean<Long> {
private volatile int units;
@@@ -628,7 -634,7 +636,7 @@@
}
}
-- public static class Proxy extends AbstractBean<Long> {
++ private static class Proxy extends AbstractBean<Long> {
private final AbstractBean<Long> bean;
private int unitsSnapshot;
@@@ -661,7 -667,7 +669,7 @@@
}
}
-- protected static enum CrudOperation {
++ private static enum CrudOperation {
CREATE,
RETRIEVE,
UPDATE,
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6334f2f/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/SharedConfigurationCommandsDUnitTest.java
----------------------------------------------------------------------
diff --cc geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/SharedConfigurationCommandsDUnitTest.java
index 4182601,d871062..917678d
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/SharedConfigurationCommandsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/SharedConfigurationCommandsDUnitTest.java
@@@ -31,9 -25,8 +31,11 @@@ import java.io.IOException
import java.util.Properties;
import java.util.Set;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
++import org.junit.runner.RunWith;
++import org.junit.runners.Parameterized;
+
import com.gemstone.gemfire.cache.Cache;
import com.gemstone.gemfire.cache.CacheFactory;
import com.gemstone.gemfire.distributed.DistributedMember;
@@@ -58,94 -61,75 +60,99 @@@ import com.gemstone.gemfire.test.junit.
* DUnit test to test export and import of shared configuration.
*/
@Category(DistributedTest.class)
-@SuppressWarnings("unchecked")
+ @RunWith(Parameterized.class)
++@SuppressWarnings("unchecked")
public class SharedConfigurationCommandsDUnitTest extends CliCommandTestBase {
- private static final long serialVersionUID = 1L;
private static final int TIMEOUT = 10000;
private static final int INTERVAL = 500;
- File newDeployableJarFile = new File("DeployCommandsDUnit1.jar");
- private transient ClassBuilder classBuilder = new ClassBuilder();
+ private final String region1Name = "r1";
+ private final String region2Name = "r2";
+ private final String logLevel = "info";
+
+ private String groupName;
+
+ private String deployedJarName;
+ private File newDeployableJarFile;
+ private ClassBuilder classBuilder;
+
+ private String sharedConfigZipFileName;
+ private String startArchiveFileName;
+ private int[] ports;
+
+ private int locator1Port;
+ private String locator1Name;
+ private String locator1LogFilePath;
+
+ private int locator2Port;
+ private String locator2Name;
+ private String locator2LogFilePath;
+
+ private int locator1HttpPort;
+ private int locator1JmxPort;
+ private String locator1JmxHost;
+ public SharedConfigurationCommandsDUnitTest(boolean useHttpOnConnect) {
+ super(useHttpOnConnect);
+ }
+
- @Test
- public void testExportImportSharedConfiguration() {
+ @Override
+ protected final void postSetUpCliCommandTestBase() throws Exception {
disconnectAllFromDS();
- final String region1Name = "r1";
- final String region2Name = "r2";
- final String groupName = "testRegionSharedConfigGroup";
- final String sharedConfigZipFileName = "sharedConfig.zip";
- final String deployedJarName = "DeployCommandsDUnit1.jar";
- final String logLevel = "info";
- final String startArchiveFileName = "stats.gfs";
- final int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(3);
-
- // TODO Sourabh - the code below is similar to CliCommandTestBase.setUpJmxManagerOnVm0ThenConnect(..); we may want to consider
- // refactoring this and combine the duplicate code blocks using either the Template Method and/or Strategy design
- // patterns. We can talk about this.
- // Start the Locator and wait for shared configuration to be available
- final int locator1Port = ports[0];
- final String locator1Name = "locator1-" + locator1Port;
- VM locatorAndMgr = Host.getHost(0).getVM(3);
- Object[] result = (Object[]) locatorAndMgr.invoke(new SerializableCallable() {
- @Override
- public Object call() {
- int httpPort;
- int jmxPort;
- String jmxHost;
+ this.groupName = getName();
-
+ this.deployedJarName = "DeployCommandsDUnit1.jar";
+ this.newDeployableJarFile = new File(this.temporaryFolder.getRoot().getCanonicalPath() + File.separator + deployedJarName);
+ this.classBuilder = new ClassBuilder();
- try {
- jmxHost = InetAddress.getLocalHost().getHostName();
- } catch (UnknownHostException ignore) {
- jmxHost = "localhost";
- }
+ this.sharedConfigZipFileName = this.temporaryFolder.getRoot().getCanonicalPath() + File.separator + "sharedConfig.zip";
+ this.startArchiveFileName = this.temporaryFolder.getRoot().getCanonicalPath() + File.separator + "stats.gfs";
+ this.ports = getRandomAvailableTCPPorts(4);
- final int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(2);
+ this.locator1Port = this.ports[0];
+ this.locator1Name = "locator1-" + this.locator1Port;
+ this.locator1LogFilePath = this.temporaryFolder.getRoot().getCanonicalPath() + File.separator + "locator-" + this.locator1Port + ".log";
- jmxPort = ports[0];
- httpPort = ports[1];
+ this.locator2Port = this.ports[1];
+ this.locator2Name = "Locator2-" + this.locator2Port;
+ this.locator2LogFilePath = this.temporaryFolder.getRoot().getCanonicalPath() + File.separator + "locator-" + this.locator2Port + ".log";
- final File locatorLogFile = new File("locator-" + locator1Port + ".log");
+ this.locator1HttpPort = ports[2];
+ this.locator1JmxPort = ports[3];
+ this.locator1JmxHost = getIPLiteral();
+ }
+
+ @Override
+ public final void postTearDownCacheTestCase() throws Exception {
+ for (int i = 0; i < 4; i++) {
+ getHost(0).getVM(i).invoke(SharedConfigurationTestUtils.cleanupLocator);
+ }
+ }
+
+ @Test
+ public void testExportImportSharedConfiguration() throws IOException {
+ // Start the Locator and wait for shared configuration to be available
+ VM locatorAndMgr = getHost(0).getVM(3);
+ Set<DistributedMember> normalMembers1 = (Set<DistributedMember>) locatorAndMgr.invoke(new SerializableCallable() {
+ @Override
+ public Object call() {
+ final File locatorLogFile = new File(locator1LogFilePath);
final Properties locatorProps = new Properties();
- locatorProps.setProperty(DistributionConfig.NAME_NAME, locator1Name);
- locatorProps.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
- locatorProps.setProperty(DistributionConfig.LOG_LEVEL_NAME, "config");
- locatorProps.setProperty(DistributionConfig.ENABLE_CLUSTER_CONFIGURATION_NAME, "true");
- locatorProps.setProperty(DistributionConfig.JMX_MANAGER_NAME, "true");
- locatorProps.setProperty(DistributionConfig.JMX_MANAGER_START_NAME, "true");
- locatorProps.setProperty(DistributionConfig.JMX_MANAGER_BIND_ADDRESS_NAME, String.valueOf(jmxHost));
- locatorProps.setProperty(DistributionConfig.JMX_MANAGER_PORT_NAME, String.valueOf(jmxPort));
- locatorProps.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(httpPort));
+ locatorProps.setProperty(NAME_NAME, locator1Name);
+ locatorProps.setProperty(MCAST_PORT_NAME, "0");
+ locatorProps.setProperty(LOG_LEVEL_NAME, "config");
+ locatorProps.setProperty(ENABLE_CLUSTER_CONFIGURATION_NAME, "true");
+ locatorProps.setProperty(JMX_MANAGER_NAME, "true");
+ locatorProps.setProperty(JMX_MANAGER_START_NAME, "true");
+ locatorProps.setProperty(JMX_MANAGER_BIND_ADDRESS_NAME, String.valueOf(locator1JmxHost));
+ locatorProps.setProperty(JMX_MANAGER_PORT_NAME, String.valueOf(locator1JmxPort));
+ locatorProps.setProperty(HTTP_SERVICE_PORT_NAME, String.valueOf(locator1HttpPort));
try {
- final InternalLocator locator = (InternalLocator) Locator.startLocatorAndDS(locator1Port, locatorLogFile,
- null, locatorProps);
+ final InternalLocator locator = (InternalLocator) Locator.startLocatorAndDS(locator1Port, locatorLogFile, null, locatorProps);
+
WaitCriterion wc = new WaitCriterion() {
@Override
public boolean done() {
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6334f2f/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ShellCommandsDUnitTest.java
----------------------------------------------------------------------
diff --cc geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ShellCommandsDUnitTest.java
index 2518b7d,d4fe871..ff73297
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ShellCommandsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ShellCommandsDUnitTest.java
@@@ -45,8 -47,12 +47,12 @@@ public class ShellCommandsDUnitTest ext
private static final long serialVersionUID = 1L;
+ public ShellCommandsDUnitTest(boolean useHttpOnConnect) {
+ super(useHttpOnConnect);
+ }
+
@Override
- public final void postSetUp() throws Exception {
+ public final void postSetUpCliCommandTestBase() throws Exception {
getDefaultShell();
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6334f2f/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/UserCommandsDUnitTest.java
----------------------------------------------------------------------
diff --cc geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/UserCommandsDUnitTest.java
index 9ab3fb4,9f44c14..b6fa8c4
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/UserCommandsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/UserCommandsDUnitTest.java
@@@ -52,8 -54,12 +54,12 @@@ public class UserCommandsDUnitTest exte
final File jarFile = new File(this.jarDirectory, "UserCommandsDUnit.jar");
boolean deleteJarDirectory = false;
+ public UserCommandsDUnitTest(boolean useHttpOnConnect) {
+ super(useHttpOnConnect);
+ }
+
@Override
- public final void postSetUp() throws Exception {
+ public final void postSetUpCliCommandTestBase() throws Exception {
createUserCommandJarFile();
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6334f2f/geode-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/wancommand/WANCommandTestBase.java
----------------------------------------------------------------------