Run forked Apache Geode server process in a unique working directory.

Resolves #623.
This commit is contained in:
John Blum
2022-10-11 16:22:27 -07:00
parent a1aa6b8b44
commit a71301e648
13 changed files with 103 additions and 15 deletions

View File

@@ -17,7 +17,9 @@ package org.springframework.data.gemfire.client;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -32,6 +34,7 @@ import org.apache.geode.cache.query.QueryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@@ -62,7 +65,11 @@ public class ClientCacheIndexingIntegrationTests extends ForkingClientServerInte
@BeforeClass
public static void startGeodeServer() throws IOException {
startGemFireServer(ServerProcess.class,
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(ClientCacheIndexingIntegrationTests.class)), UUID.randomUUID().toString()));
startGemFireServer(serverWorkingDirectory, ServerProcess.class,
getServerContextXmlFileLocation(ClientCacheIndexingIntegrationTests.class));
}

View File

@@ -18,6 +18,9 @@ package org.springframework.data.gemfire.client;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.util.UUID;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -32,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.util.Assert;
@@ -56,7 +60,11 @@ public class ClientCachePoolIntegrationTests extends ForkingClientServerIntegrat
@BeforeClass
public static void startGeodeServer() throws Exception {
startGemFireServer(ServerProcess.class,
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(ClientCachePoolIntegrationTests.class)), UUID.randomUUID().toString()));
startGemFireServer(serverWorkingDirectory, ServerProcess.class,
getServerContextXmlFileLocation(ClientCachePoolIntegrationTests.class));
}

View File

@@ -17,9 +17,11 @@ package org.springframework.data.gemfire.client;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -35,6 +37,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@@ -56,12 +59,13 @@ public class ClientCacheSecurityIntegrationTests extends ForkingClientServerInte
@BeforeClass
public static void startGeodeServer() throws IOException {
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(ClientCacheSecurityIntegrationTests.class)), UUID.randomUUID().toString()));
List<String> arguments = new ArrayList<String>();
org.springframework.core.io.Resource trustedKeystore = new ClassPathResource("trusted.keystore");
//System.err.printf("trusted.keystore file is located at [%s]%n", trustedKeystore.getFile().getAbsolutePath());
arguments.add(String.format("-Dgemfire.name=%s",
asApplicationName(ClientCacheSecurityIntegrationTests.class).concat("Server")));
@@ -69,7 +73,7 @@ public class ClientCacheSecurityIntegrationTests extends ForkingClientServerInte
arguments.add(getServerContextXmlFileLocation(ClientCacheSecurityIntegrationTests.class));
startGemFireServer(ServerProcess.class, arguments.toArray(new String[arguments.size()]));
startGemFireServer(serverWorkingDirectory, ServerProcess.class, arguments.toArray(new String[arguments.size()]));
System.setProperty("javax.net.ssl.keyStore", trustedKeystore.getFile().getAbsolutePath());
}

View File

@@ -17,7 +17,9 @@ package org.springframework.data.gemfire.client;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Before;
@@ -36,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@@ -64,7 +67,10 @@ public class ClientCacheVariableLocatorsIntegrationTests extends ForkingClientSe
System.setProperty("spring.data.gemfire.locator.port", String.valueOf(locatorPort));
startGemFireServer(ServerProcess.class,
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(ClientCacheVariableLocatorsIntegrationTests.class)), UUID.randomUUID().toString()));
startGemFireServer(serverWorkingDirectory, ServerProcess.class,
getServerContextXmlFileLocation(ClientCacheVariableLocatorsIntegrationTests.class));
}

View File

@@ -17,11 +17,13 @@ package org.springframework.data.gemfire.client;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.AfterClass;
@@ -44,6 +46,7 @@ import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.data.gemfire.util.CollectionUtils;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@@ -80,13 +83,16 @@ public class ClientCacheVariableServersIntegrationTests extends ForkingClientSer
System.setProperty("test.cache.server.port.one", String.valueOf(cacheServerPortOne));
System.setProperty("test.cache.server.port.two", String.valueOf(cacheServerPortTwo));
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(ClientCacheVariableServersIntegrationTests.class)), UUID.randomUUID().toString()));
List<String> arguments = new ArrayList<>();
arguments.add(String.format("-Dtest.cache.server.port.one=%d", cacheServerPortOne));
arguments.add(String.format("-Dtest.cache.server.port.two=%d", cacheServerPortTwo));
arguments.add(getServerContextXmlFileLocation(ClientCacheVariableServersIntegrationTests.class));
startGemFireServer(ServerProcess.class, arguments.toArray(new String[0]));
startGemFireServer(serverWorkingDirectory, ServerProcess.class, arguments.toArray(new String[0]));
}
@AfterClass

View File

@@ -17,6 +17,9 @@ package org.springframework.data.gemfire.client;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.util.UUID;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -29,6 +32,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.gemfire.GemfireTemplate;
import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@@ -51,7 +55,11 @@ public class ClientSubRegionIntegrationTests extends ForkingClientServerIntegrat
@BeforeClass
public static void startGeodeServer() throws Exception {
startGemFireServer(ServerProcess.class,
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(ClientSubRegionIntegrationTests.class)), UUID.randomUUID().toString()));
startGemFireServer(serverWorkingDirectory, ServerProcess.class,
getServerContextXmlFileLocation(ClientSubRegionIntegrationTests.class));
}

View File

@@ -18,6 +18,7 @@ package org.springframework.data.gemfire.client;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assume.assumeTrue;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -25,6 +26,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Properties;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
@@ -55,6 +57,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.data.gemfire.util.DistributedSystemUtils;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
@@ -100,7 +103,11 @@ public class DurableClientCacheIntegrationTests extends ForkingClientServerInteg
@BeforeClass
public static void startGeodeServer() throws IOException {
startGemFireServer(ServerProcess.class,
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(DurableClientCacheIntegrationTests.class)), UUID.randomUUID().toString()));
startGemFireServer(serverWorkingDirectory, ServerProcess.class,
getServerContextXmlFileLocation(DurableClientCacheIntegrationTests.class));
}

View File

@@ -17,9 +17,11 @@ package org.springframework.data.gemfire.client;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -64,6 +66,10 @@ public class GemFireDataSourceIntegrationTest extends ForkingClientServerIntegra
@BeforeClass
public static void startGeodeServer() throws IOException {
File serverWorkingDirectory = createDirectory(new File(new File(
org.springframework.data.gemfire.tests.util.FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(GemFireDataSourceIntegrationTest.class)), UUID.randomUUID().toString()));
List<String> arguments = new ArrayList<>();
arguments.add(String.format("-Dgemfire.name=%s",
@@ -71,7 +77,7 @@ public class GemFireDataSourceIntegrationTest extends ForkingClientServerIntegra
arguments.add(getServerContextXmlFileLocation(GemFireDataSourceIntegrationTest.class));
startGemFireServer(ServerProcess.class, arguments.toArray(new String[0]));
startGemFireServer(serverWorkingDirectory, ServerProcess.class, arguments.toArray(new String[0]));
}
@AfterClass

View File

@@ -14,9 +14,11 @@ package org.springframework.data.gemfire.client;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -33,6 +35,7 @@ import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.repository.sample.Person;
import org.springframework.data.gemfire.repository.sample.PersonRepository;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@@ -57,7 +60,11 @@ public class GemFireDataSourceIntegrationTests extends ForkingClientServerIntegr
@BeforeClass
public static void startGeodeServer() throws Exception {
startGemFireServer(ServerProcess.class,
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(GemFireDataSourceIntegrationTests.class)), UUID.randomUUID().toString()));
startGemFireServer(serverWorkingDirectory, ServerProcess.class,
getServerContextXmlFileLocation(GemFireDataSourceIntegrationTests.class));
}

View File

@@ -17,11 +17,13 @@ package org.springframework.data.gemfire.function;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -42,6 +44,7 @@ import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.function.annotation.GemfireFunction;
import org.springframework.data.gemfire.function.sample.ApplicationDomainFunctionExecutions;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.util.Assert;
@@ -81,7 +84,11 @@ public class ClientCacheFunctionExecutionWithPdxIntegrationTest extends ForkingC
@BeforeClass
public static void startGemFireServer() throws Exception {
startGemFireServer(ServerProcess.class,
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(ClientCacheFunctionExecutionWithPdxIntegrationTest.class)), UUID.randomUUID().toString()));
startGemFireServer(serverWorkingDirectory, ServerProcess.class,
getServerContextXmlFileLocation(ClientCacheFunctionExecutionWithPdxIntegrationTest.class));
}

View File

@@ -17,7 +17,9 @@ package org.springframework.data.gemfire.function;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -32,6 +34,7 @@ import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.function.sample.ExceptionThrowingFunctionExecution;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.process.ProcessWrapper;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@@ -64,7 +67,11 @@ public class ExceptionThrowingFunctionExecutionIntegrationTests extends ForkingC
@BeforeClass
public static void startGeodeServer() throws IOException {
startGemFireServer(ServerProcess.class,
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(ExceptionThrowingFunctionExecutionIntegrationTests.class)), UUID.randomUUID().toString()));
startGemFireServer(serverWorkingDirectory, ServerProcess.class,
getServerContextXmlFileLocation(ExceptionThrowingFunctionExecutionIntegrationTests.class));
}

View File

@@ -14,11 +14,13 @@ package org.springframework.data.gemfire.function.execution;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -34,6 +36,7 @@ import org.springframework.data.gemfire.fork.ServerProcess;
import org.springframework.data.gemfire.function.annotation.GemfireFunction;
import org.springframework.data.gemfire.function.annotation.RegionData;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.stereotype.Component;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@@ -58,7 +61,11 @@ public class FunctionIntegrationTests extends ForkingClientServerIntegrationTest
@BeforeClass
public static void startGemFireServer() throws Exception {
startGemFireServer(ServerProcess.class,
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(FunctionIntegrationTests.class)), UUID.randomUUID().toString()));
startGemFireServer(serverWorkingDirectory, ServerProcess.class,
getServerContextXmlFileLocation(FunctionIntegrationTests.class));
}

View File

@@ -14,6 +14,9 @@ package org.springframework.data.gemfire.repository.config;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.util.UUID;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -27,6 +30,7 @@ import org.springframework.data.gemfire.repository.sample.Person;
import org.springframework.data.gemfire.repository.sample.PersonRepository;
import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
import org.springframework.data.gemfire.tests.objects.geode.cache.RegionDataInitializingPostProcessor;
import org.springframework.data.gemfire.tests.util.FileSystemUtils;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@@ -53,7 +57,11 @@ public class ClientRegionNamespaceRepositoryIntegrationTests extends ForkingClie
@BeforeClass
public static void startGemFireServer() throws Exception {
startGemFireServer(ServerProcess.class,
File serverWorkingDirectory = createDirectory(new File(new File(FileSystemUtils.WORKING_DIRECTORY,
asDirectoryName(ClientRegionNamespaceRepositoryIntegrationTests.class)), UUID.randomUUID().toString()));
startGemFireServer(serverWorkingDirectory, ServerProcess.class,
getServerContextXmlFileLocation(ClientRegionNamespaceRepositoryIntegrationTests.class));
}