From f86affe404a344fda2face7f0f5aad9f36549e41 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Sun, 5 May 2019 23:21:04 -0700 Subject: [PATCH] Extract integration test classes from package-info Extract the inner classes from package-info into their own files to prevent local build problems and to make them easier to find. --- .../core/env/scan1/Config.java | 26 +++++++++++++++ .../core/env/scan1/DevConfig.java | 32 +++++++++++++++++++ .../{package-info.java => ProdConfig.java} | 27 +++------------- .../core/env/scan2/DevBean.java | 25 +++++++++++++++ .../{package-info.java => ProdBean.java} | 20 +++--------- 5 files changed, 92 insertions(+), 38 deletions(-) create mode 100644 src/test/java/org/springframework/core/env/scan1/Config.java create mode 100644 src/test/java/org/springframework/core/env/scan1/DevConfig.java rename src/test/java/org/springframework/core/env/scan1/{package-info.java => ProdConfig.java} (60%) create mode 100644 src/test/java/org/springframework/core/env/scan2/DevBean.java rename src/test/java/org/springframework/core/env/scan2/{package-info.java => ProdBean.java} (53%) diff --git a/src/test/java/org/springframework/core/env/scan1/Config.java b/src/test/java/org/springframework/core/env/scan1/Config.java new file mode 100644 index 00000000000..8e86c302c7d --- /dev/null +++ b/src/test/java/org/springframework/core/env/scan1/Config.java @@ -0,0 +1,26 @@ +/* + * Copyright 2002-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.core.env.scan1; + +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; + +@Configuration +@Import({ DevConfig.class, ProdConfig.class }) +class Config { + +} diff --git a/src/test/java/org/springframework/core/env/scan1/DevConfig.java b/src/test/java/org/springframework/core/env/scan1/DevConfig.java new file mode 100644 index 00000000000..d63e79752e9 --- /dev/null +++ b/src/test/java/org/springframework/core/env/scan1/DevConfig.java @@ -0,0 +1,32 @@ +/* + * Copyright 2002-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.core.env.scan1; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; + +@Profile(org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.DEV_ENV_NAME) +@Configuration +class DevConfig { + + @Bean + public Object devBean() { + return new Object(); + } + +} diff --git a/src/test/java/org/springframework/core/env/scan1/package-info.java b/src/test/java/org/springframework/core/env/scan1/ProdConfig.java similarity index 60% rename from src/test/java/org/springframework/core/env/scan1/package-info.java rename to src/test/java/org/springframework/core/env/scan1/ProdConfig.java index c2ab8532c95..896e2ea626e 100644 --- a/src/test/java/org/springframework/core/env/scan1/package-info.java +++ b/src/test/java/org/springframework/core/env/scan1/ProdConfig.java @@ -14,39 +14,20 @@ * limitations under the License. */ -/** - * Mirrors the structure of beans and environment-specific config files - * in EnvironmentIntegrationTests-context.xml - */ -package org.springframework.core.env.scan1; -import static org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.DEV_ENV_NAME; -import static org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.PROD_ENV_NAME; +package org.springframework.core.env.scan1; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Profile; -@Configuration -@Import({DevConfig.class, ProdConfig.class}) -class Config { -} - -@Profile(DEV_ENV_NAME) -@Configuration -class DevConfig { - @Bean - public Object devBean() { - return new Object(); - } -} - -@Profile(PROD_ENV_NAME) +@Profile(org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.PROD_ENV_NAME) @Configuration class ProdConfig { + @Bean public Object prodBean() { return new Object(); } + } diff --git a/src/test/java/org/springframework/core/env/scan2/DevBean.java b/src/test/java/org/springframework/core/env/scan2/DevBean.java new file mode 100644 index 00000000000..8142b06b8f6 --- /dev/null +++ b/src/test/java/org/springframework/core/env/scan2/DevBean.java @@ -0,0 +1,25 @@ +/* + * Copyright 2002-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.core.env.scan2; + +import org.springframework.context.annotation.Profile; +import org.springframework.stereotype.Component; + +@Profile(org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.DEV_ENV_NAME) +@Component(org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.DEV_BEAN_NAME) +class DevBean { +} diff --git a/src/test/java/org/springframework/core/env/scan2/package-info.java b/src/test/java/org/springframework/core/env/scan2/ProdBean.java similarity index 53% rename from src/test/java/org/springframework/core/env/scan2/package-info.java rename to src/test/java/org/springframework/core/env/scan2/ProdBean.java index 4eb101ef899..91af26d789a 100644 --- a/src/test/java/org/springframework/core/env/scan2/package-info.java +++ b/src/test/java/org/springframework/core/env/scan2/ProdBean.java @@ -14,24 +14,14 @@ * limitations under the License. */ -/** - * Mirrors the structure of beans and environment-specific config files - * in EnvironmentIntegrationTests-context.xml - */ -package org.springframework.core.env.scan2; -import static org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.DEV_BEAN_NAME; -import static org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.DEV_ENV_NAME; -import static org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.PROD_BEAN_NAME; -import static org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.PROD_ENV_NAME; +package org.springframework.core.env.scan2; import org.springframework.context.annotation.Profile; import org.springframework.stereotype.Component; -@Profile(DEV_ENV_NAME) -@Component(DEV_BEAN_NAME) -class DevBean { } +@Profile(org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.PROD_ENV_NAME) +@Component(org.springframework.core.env.EnvironmentSystemIntegrationTests.Constants.PROD_BEAN_NAME) +class ProdBean { -@Profile(PROD_ENV_NAME) -@Component(PROD_BEAN_NAME) -class ProdBean { } +}