4 changed files with 75 additions and 92 deletions
@ -1,87 +0,0 @@
@@ -1,87 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2016 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 |
||||
* |
||||
* http://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.boot.test.context; |
||||
|
||||
import org.junit.Test; |
||||
import org.junit.runner.RunWith; |
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.beans.factory.annotation.Value; |
||||
import org.springframework.boot.test.context.PortTest.RandomPortInitailizer; |
||||
import org.springframework.context.ApplicationContextInitializer; |
||||
import org.springframework.context.ConfigurableApplicationContext; |
||||
import org.springframework.context.annotation.Bean; |
||||
import org.springframework.context.annotation.Configuration; |
||||
import org.springframework.test.context.ContextConfiguration; |
||||
import org.springframework.test.context.junit4.SpringRunner; |
||||
import org.springframework.test.context.support.TestPropertySourceUtils; |
||||
import org.springframework.util.SocketUtils; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
@RunWith(SpringRunner.class) |
||||
@SpringBootTest |
||||
@ContextConfiguration(initializers = RandomPortInitailizer.class) |
||||
public class PortTest { |
||||
|
||||
@Autowired |
||||
private SomeService service; |
||||
|
||||
@Test |
||||
public void testName() throws Exception { |
||||
System.out.println(this.service); |
||||
assertThat(this.service.toString()).containsOnlyDigits(); |
||||
} |
||||
|
||||
@Configuration |
||||
static class MyConfig { |
||||
|
||||
@Bean |
||||
public SomeService someService(@Value("${my.random.port}") int port) { |
||||
return new SomeService(port); |
||||
} |
||||
|
||||
} |
||||
|
||||
static class SomeService { |
||||
|
||||
private final int port; |
||||
|
||||
public SomeService(int port) { |
||||
this.port = port; |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return String.valueOf(this.port); |
||||
} |
||||
|
||||
} |
||||
|
||||
public static class RandomPortInitailizer |
||||
implements ApplicationContextInitializer<ConfigurableApplicationContext> { |
||||
|
||||
@Override |
||||
public void initialize(ConfigurableApplicationContext applicationContext) { |
||||
int randomPort = SocketUtils.findAvailableTcpPort(); |
||||
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(applicationContext, |
||||
"my.random.port=" + randomPort); |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,68 @@
@@ -0,0 +1,68 @@
|
||||
/* |
||||
* Copyright 2012-2016 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 |
||||
* |
||||
* http://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.boot.logging.log4j2; |
||||
|
||||
import java.net.URI; |
||||
|
||||
import org.apache.logging.log4j.core.LoggerContext; |
||||
import org.apache.logging.log4j.core.config.Configuration; |
||||
import org.apache.logging.log4j.core.config.ConfigurationFactory; |
||||
import org.apache.logging.log4j.core.config.ConfigurationSource; |
||||
import org.apache.logging.log4j.core.config.DefaultConfiguration; |
||||
import org.apache.logging.log4j.core.config.Order; |
||||
import org.apache.logging.log4j.core.config.plugins.Plugin; |
||||
|
||||
/** |
||||
* Spring Boot {@link ConfigurationFactory} that prevents logger warnings from being |
||||
* printed when the application first starts. |
||||
* |
||||
* @author Phillip Webb |
||||
* @since 1.5.0 |
||||
*/ |
||||
@Plugin(name = "SpringBootConfigurationFactory", category = ConfigurationFactory.CATEGORY) |
||||
@Order(4) // Order behind XmlConfigurationFactory
|
||||
public class SpringBootConfigurationFactory extends ConfigurationFactory { |
||||
|
||||
private static final String[] ALL_TYPES = { "*" }; |
||||
|
||||
@Override |
||||
protected String[] getSupportedTypes() { |
||||
return ALL_TYPES; |
||||
} |
||||
|
||||
@Override |
||||
public Configuration getConfiguration(LoggerContext loggerContext, String name, |
||||
URI configLocation) { |
||||
if (configLocation == null) { |
||||
return new DefaultConfiguration(); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public Configuration getConfiguration(LoggerContext loggerContext, String name, |
||||
URI configLocation, ClassLoader loader) { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public Configuration getConfiguration(LoggerContext loggerContext, |
||||
ConfigurationSource source) { |
||||
return null; |
||||
} |
||||
|
||||
} |
||||
Loading…
Reference in new issue