JsmppServerTestConfiguration.java
- package fr.sii.ogham.testing.extension.spring;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
- import org.springframework.boot.test.context.TestConfiguration;
- import org.springframework.context.annotation.Bean;
- import fr.sii.ogham.testing.extension.junit.sms.JsmppServerExtension;
- import fr.sii.ogham.testing.extension.junit.sms.JsmppServerRule;
- import fr.sii.ogham.testing.extension.junit.sms.config.ServerConfig;
- /**
- * Test configuration that registers:
- * <ul>
- * <li>{@link JsmppServerRule} bean for JUnit 4</li>
- * <li>{@link JsmppServerExtension} bean for JUnit 5</li>
- * <li>Configure port defined by {@code jsmpp.server.port} property.</li>
- * </ul>
- *
- * @author Aurélien Baudet
- *
- */
- @TestConfiguration
- public class JsmppServerTestConfiguration {
- @Bean
- @ConditionalOnMissingBean(JsmppServerRule.class)
- @ConditionalOnProperty("jsmpp.server.port")
- public JsmppServerRule randomJsmppPortRule(@Value("${jsmpp.server.port}") int port, @Autowired(required = false) ServerConfig config) {
- return new JsmppServerRule(initConfig(port, config));
- }
-
- @Bean
- @ConditionalOnMissingBean(JsmppServerExtension.class)
- @ConditionalOnProperty("jsmpp.server.port")
- public JsmppServerExtension randomJsmppPortExtension(@Value("${jsmpp.server.port}") int port, @Autowired(required = false) ServerConfig config) {
- return new JsmppServerExtension(initConfig(port, config));
- }
- private static ServerConfig initConfig(int port, ServerConfig config) {
- if (config == null) {
- config = new ServerConfig();
- }
- config.port(port);
- return config;
- }
- }