Properly clean up used resources after test execution.
This commit is contained in:
@@ -64,7 +64,6 @@ import org.springframework.data.gemfire.config.annotation.support.AutoConfigured
|
|||||||
@Configuration
|
@Configuration
|
||||||
@AutoConfigureBefore(ClientCacheAutoConfiguration.class)
|
@AutoConfigureBefore(ClientCacheAutoConfiguration.class)
|
||||||
@Conditional(ClientSecurityAutoConfiguration.EnableSecurityCondition.class)
|
@Conditional(ClientSecurityAutoConfiguration.EnableSecurityCondition.class)
|
||||||
//@ConditionalOnBean(ClientCacheFactoryBean.class)
|
|
||||||
@ConditionalOnClass({ ClientCacheFactoryBean.class, ClientCache.class })
|
@ConditionalOnClass({ ClientCacheFactoryBean.class, ClientCache.class })
|
||||||
@EnableSecurity
|
@EnableSecurity
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import org.springframework.data.gemfire.config.annotation.CacheServerApplication
|
|||||||
import org.springframework.data.gemfire.config.annotation.EnableLocator;
|
import org.springframework.data.gemfire.config.annotation.EnableLocator;
|
||||||
import org.springframework.data.gemfire.config.annotation.EnableLogging;
|
import org.springframework.data.gemfire.config.annotation.EnableLogging;
|
||||||
import org.springframework.data.gemfire.support.GemfireBeanFactoryLocatorProxy;
|
import org.springframework.data.gemfire.support.GemfireBeanFactoryLocatorProxy;
|
||||||
|
import org.springframework.test.annotation.DirtiesContext;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,6 +55,7 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
* @see org.springframework.test.context.junit4.SpringRunner
|
* @see org.springframework.test.context.junit4.SpringRunner
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
|
@DirtiesContext
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = AutoConfiguredCloudSecurityContextIntegrationTests.GemFireClientConfiguration.class,
|
@SpringBootTest(classes = AutoConfiguredCloudSecurityContextIntegrationTests.GemFireClientConfiguration.class,
|
||||||
webEnvironment = SpringBootTest.WebEnvironment.NONE)
|
webEnvironment = SpringBootTest.WebEnvironment.NONE)
|
||||||
@@ -61,28 +63,34 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||||||
public class AutoConfiguredCloudSecurityContextIntegrationTests
|
public class AutoConfiguredCloudSecurityContextIntegrationTests
|
||||||
extends AbstractAutoConfiguredSecurityContextIntegrationTests {
|
extends AbstractAutoConfiguredSecurityContextIntegrationTests {
|
||||||
|
|
||||||
private static final String VCAP_APPLICATION_PROPERTIES = "application-vcap.properties";
|
|
||||||
private static final String GEMFIRE_LOG_LEVEL = "error";
|
private static final String GEMFIRE_LOG_LEVEL = "error";
|
||||||
|
private static final String VCAP_APPLICATION_PROPERTIES = "application-vcap.properties";
|
||||||
|
|
||||||
public static void loadVcapApplicationProperties() throws IOException {
|
private static Properties vcapApplicationProperties = new Properties();
|
||||||
|
|
||||||
Properties vcapApplicationProperties = new Properties();
|
|
||||||
|
|
||||||
vcapApplicationProperties.load(new ClassPathResource(VCAP_APPLICATION_PROPERTIES).getInputStream());
|
|
||||||
|
|
||||||
vcapApplicationProperties.stringPropertyNames()
|
|
||||||
.forEach(property -> System.setProperty(property, vcapApplicationProperties.getProperty(property)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void startGemFireServer() throws IOException {
|
public static void startGemFireServer() throws IOException {
|
||||||
|
|
||||||
startGemFireServer(GemFireServerConfiguration.class, "-Dspring.profiles.active=security-cloud");
|
startGemFireServer(GemFireServerConfiguration.class, "-Dspring.profiles.active=security-cloud");
|
||||||
|
|
||||||
loadVcapApplicationProperties();
|
loadVcapApplicationProperties();
|
||||||
|
|
||||||
GemfireBeanFactoryLocatorProxy.clean();
|
GemfireBeanFactoryLocatorProxy.clean();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void loadVcapApplicationProperties() throws IOException {
|
||||||
|
|
||||||
|
vcapApplicationProperties.load(new ClassPathResource(VCAP_APPLICATION_PROPERTIES).getInputStream());
|
||||||
|
|
||||||
|
vcapApplicationProperties.stringPropertyNames().forEach(property ->
|
||||||
|
System.setProperty(property, vcapApplicationProperties.getProperty(property)));
|
||||||
|
}
|
||||||
|
|
||||||
@AfterClass
|
@AfterClass
|
||||||
public static void cleanUpBeanFactoryLocatorReferences() {
|
public static void cleanUpUsedResources() {
|
||||||
|
|
||||||
|
vcapApplicationProperties.stringPropertyNames().forEach(System::clearProperty);
|
||||||
|
|
||||||
GemfireBeanFactoryLocatorProxy.clean();
|
GemfireBeanFactoryLocatorProxy.clean();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user