Spring Boot 2.1 upgrade related changes
* Instead of redefining `BinderTypeRegistry` as a bean in several tests, properly use spring.binders to define mock binders and then choose a default binder in tests in case of multiple binders in same spring.binders file. * Remove `BindingServiceConfiguration` in `EnableBinding` and introduce it as a proper Spring Boot autoconfiguration class. Added `BindingServiceConfiguration` to spring.factories. * Move `BinderFactory` bean into `BindingServiceConfiguration` and add `ConditionalOnMissingBean` on it so that downstream users can define new `BinderFactory` beans as part of autoconfiguration. * Remove `ConditionalOnMissingBean` from the `BinderTypeRegistry` bean in `BinderFactoryConfiguration` as we don't expect this bean to be overridden. * Remove previously added property `spring.main.allow-bean-definition-overriding` in several tests. * Since web/actuator is optional now, remove unncecessarily setting server.port to `0` in tests * Ensure that `BindersHealthIndicatorAutoConfiguration` is autoconfigured after `BindingServiceConfiguration` so that it has a `BinderFactory` available. * Remove redefining `ServerController` bean in `SchemaServerConfiguration` as this is already created through component scanning and causing the bean overriding exceptions. * Tests cleanup and polishing. Resolves #1429, #1430
This commit is contained in:
@@ -26,7 +26,6 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
||||
import org.springframework.boot.autoconfigure.domain.EntityScanPackages;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.cloud.stream.schema.server.controllers.ServerController;
|
||||
import org.springframework.cloud.stream.schema.server.model.Schema;
|
||||
import org.springframework.cloud.stream.schema.server.repository.SchemaRepository;
|
||||
import org.springframework.cloud.stream.schema.server.support.AvroSchemaValidator;
|
||||
@@ -37,6 +36,7 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||
|
||||
/**
|
||||
* @author Vinicius Carvalho
|
||||
* @author Soby Chacko
|
||||
*/
|
||||
@Configuration
|
||||
@EnableJpaRepositories(basePackageClasses = SchemaRepository.class)
|
||||
@@ -57,12 +57,6 @@ public class SchemaServerConfiguration {
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ServerController serverController(SchemaRepository repository,
|
||||
SchemaServerProperties schemeServerProperties) {
|
||||
return new ServerController(repository, schemaValidators(), schemeServerProperties);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Map<String, SchemaValidator> schemaValidators() {
|
||||
Map<String, SchemaValidator> validatorMap = new HashMap<>();
|
||||
|
||||
@@ -44,8 +44,7 @@ import static org.springframework.test.annotation.DirtiesContext.ClassMode.AFTER
|
||||
* @author Ilayaperumal Gopinathan
|
||||
*/
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT,
|
||||
properties = {"--spring.main.allow-bean-definition-overriding=true"})
|
||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
|
||||
@DirtiesContext(classMode = AFTER_EACH_TEST_METHOD)
|
||||
public class SchemaRegistryServerAvroTests {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user