commit
2b649542e0
|
@ -103,7 +103,7 @@ public class AutoConfigurationReportLoggingInitializer
|
||||||
+ "debug logging (start with --debug)%n%n"));
|
+ "debug logging (start with --debug)%n%n"));
|
||||||
}
|
}
|
||||||
if (this.logger.isDebugEnabled()) {
|
if (this.logger.isDebugEnabled()) {
|
||||||
this.logger.debug(new ConditionEvalutionReportMessage(this.report));
|
this.logger.debug(new ConditionEvaluationReportMessage(this.report));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,11 +35,11 @@ import org.springframework.util.StringUtils;
|
||||||
* @author Phillip Webb
|
* @author Phillip Webb
|
||||||
* @since 1.4.0
|
* @since 1.4.0
|
||||||
*/
|
*/
|
||||||
public class ConditionEvalutionReportMessage {
|
public class ConditionEvaluationReportMessage {
|
||||||
|
|
||||||
private StringBuilder message;
|
private StringBuilder message;
|
||||||
|
|
||||||
public ConditionEvalutionReportMessage(ConditionEvaluationReport report) {
|
public ConditionEvaluationReportMessage(ConditionEvaluationReport report) {
|
||||||
this.message = getLogMessage(report);
|
this.message = getLogMessage(report);
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,14 +47,14 @@ public class ImportAutoConfigurationTests {
|
||||||
config);
|
config);
|
||||||
String shortName = ClassUtils.getShortName(ImportAutoConfigurationTests.class);
|
String shortName = ClassUtils.getShortName(ImportAutoConfigurationTests.class);
|
||||||
int beginIndex = shortName.length() + 1;
|
int beginIndex = shortName.length() + 1;
|
||||||
List<String> orderdConfigBeans = new ArrayList<String>();
|
List<String> orderedConfigBeans = new ArrayList<String>();
|
||||||
for (String bean : context.getBeanDefinitionNames()) {
|
for (String bean : context.getBeanDefinitionNames()) {
|
||||||
if (bean.contains("$Config")) {
|
if (bean.contains("$Config")) {
|
||||||
String shortBeanName = ClassUtils.getShortName(bean);
|
String shortBeanName = ClassUtils.getShortName(bean);
|
||||||
orderdConfigBeans.add(shortBeanName.substring(beginIndex));
|
orderedConfigBeans.add(shortBeanName.substring(beginIndex));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assertThat(orderdConfigBeans).containsExactly("ConfigA", "ConfigB", "ConfigC",
|
assertThat(orderedConfigBeans).containsExactly("ConfigA", "ConfigB", "ConfigC",
|
||||||
"ConfigD");
|
"ConfigD");
|
||||||
context.close();
|
context.close();
|
||||||
}
|
}
|
||||||
|
|
|
@ -4306,7 +4306,7 @@ If you use the
|
||||||
the following provided libraries:
|
the following provided libraries:
|
||||||
|
|
||||||
* http://junit.org[JUnit] -- The de-facto standard for unit testing Java applications.
|
* http://junit.org[JUnit] -- The de-facto standard for unit testing Java applications.
|
||||||
* {spring-reference}/#integration-testing.html[Spring Test] & Spring Boot Test -- utilties and integration test support for Spring Boot
|
* {spring-reference}/#integration-testing.html[Spring Test] & Spring Boot Test -- utilities and integration test support for Spring Boot
|
||||||
applications.
|
applications.
|
||||||
* http://joel-costigliola.github.io/assertj/[AssertJ] - A fluent assertion library.
|
* http://joel-costigliola.github.io/assertj/[AssertJ] - A fluent assertion library.
|
||||||
* http://hamcrest.org/JavaHamcrest/[Hamcrest] -- A library of matcher objects (also known
|
* http://hamcrest.org/JavaHamcrest/[Hamcrest] -- A library of matcher objects (also known
|
||||||
|
@ -4599,7 +4599,7 @@ a little too much for tests. It's often helpful to load only the parts of the
|
||||||
configuration that are required to test a '`slice`' of your application. For example, you
|
configuration that are required to test a '`slice`' of your application. For example, you
|
||||||
might want to test that Spring MVC controllers are mapping URLs correctly, and you don't
|
might want to test that Spring MVC controllers are mapping URLs correctly, and you don't
|
||||||
want to involve and database calls in those tests; or you _might be wanting_ to test JPA
|
want to involve and database calls in those tests; or you _might be wanting_ to test JPA
|
||||||
entites, and you're not interested in web layer when those tests run.
|
entities, and you're not interested in web layer when those tests run.
|
||||||
|
|
||||||
The `spring-boot-test-autoconfigure` module includes a number of annotations that can be
|
The `spring-boot-test-autoconfigure` module includes a number of annotations that can be
|
||||||
used to automatically configure such '`slices`'. Each of them work in a similar way,
|
used to automatically configure such '`slices`'. Each of them work in a similar way,
|
||||||
|
@ -4615,7 +4615,7 @@ TIP: It's also possible to use the `@AutoConfigure...` annotations with the stan
|
||||||
|
|
||||||
[[boot-features-testing-spring-boot-applications-testing-autoconfigured-json-tests]]
|
[[boot-features-testing-spring-boot-applications-testing-autoconfigured-json-tests]]
|
||||||
==== Auto-configured JSON tests
|
==== Auto-configured JSON tests
|
||||||
To test that Object JSON serilization and deserialization is working as expected you can
|
To test that Object JSON serialization and deserialization is working as expected you can
|
||||||
use the `@JsonTest` annotation. `@JsonTest` will auto-configure Jackson ObjectMappers,
|
use the `@JsonTest` annotation. `@JsonTest` will auto-configure Jackson ObjectMappers,
|
||||||
any `@JsonComponent` beans and any Jackson `Modules`. It also configures `Gson`
|
any `@JsonComponent` beans and any Jackson `Modules`. It also configures `Gson`
|
||||||
if you happen to be using that instead of, or as well as, Jackson. If you need to
|
if you happen to be using that instead of, or as well as, Jackson. If you need to
|
||||||
|
|
|
@ -66,7 +66,7 @@ public class UserVehicleControllerApplicationTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void welcomeCommandLineRunnerShouldBeAvailble() throws Exception {
|
public void welcomeCommandLineRunnerShouldBeAvailable() throws Exception {
|
||||||
// Since we're a @SpringApplicationTest all beans should be available
|
// Since we're a @SpringApplicationTest all beans should be available
|
||||||
assertThat(this.applicationContext.getBean(WelcomeCommandLineRunner.class))
|
assertThat(this.applicationContext.getBean(WelcomeCommandLineRunner.class))
|
||||||
.isNotNull();
|
.isNotNull();
|
||||||
|
|
|
@ -101,7 +101,7 @@ public class UserVehicleControllerTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = NoSuchBeanDefinitionException.class)
|
@Test(expected = NoSuchBeanDefinitionException.class)
|
||||||
public void welcomeCommandLineRunnerShouldBeAvailble() throws Exception {
|
public void welcomeCommandLineRunnerShouldBeAvailable() throws Exception {
|
||||||
// Since we're a @WebMvcTest WelcomeCommandLineRunner should not be available
|
// Since we're a @WebMvcTest WelcomeCommandLineRunner should not be available
|
||||||
assertThat(this.applicationContext.getBean(WelcomeCommandLineRunner.class));
|
assertThat(this.applicationContext.getBean(WelcomeCommandLineRunner.class));
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
package org.springframework.boot.test.autoconfigure;
|
package org.springframework.boot.test.autoconfigure;
|
||||||
|
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport;
|
import org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport;
|
||||||
import org.springframework.boot.autoconfigure.logging.ConditionEvalutionReportMessage;
|
import org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportMessage;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.ConfigurableApplicationContext;
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
import org.springframework.test.context.TestContext;
|
import org.springframework.test.context.TestContext;
|
||||||
|
@ -50,7 +50,7 @@ class AutoConfigureReportTestExecutionListener extends AbstractTestExecutionList
|
||||||
if (context instanceof ConfigurableApplicationContext) {
|
if (context instanceof ConfigurableApplicationContext) {
|
||||||
ConditionEvaluationReport report = ConditionEvaluationReport
|
ConditionEvaluationReport report = ConditionEvaluationReport
|
||||||
.get(((ConfigurableApplicationContext) context).getBeanFactory());
|
.get(((ConfigurableApplicationContext) context).getBeanFactory());
|
||||||
System.err.println(new ConditionEvalutionReportMessage(report));
|
System.err.println(new ConditionEvaluationReportMessage(report));
|
||||||
}
|
}
|
||||||
throw ex;
|
throw ex;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||||
/**
|
/**
|
||||||
* Annotation that can be used to override
|
* Annotation that can be used to override
|
||||||
* {@link EnableAutoConfiguration @EnableAutoConfiguration}. Often used in combination
|
* {@link EnableAutoConfiguration @EnableAutoConfiguration}. Often used in combination
|
||||||
* with {@link ImportAutoConfiguration} to limit the auto-configutation classes that are
|
* with {@link ImportAutoConfiguration} to limit the auto-configuration classes that are
|
||||||
* loaded.
|
* loaded.
|
||||||
*
|
*
|
||||||
* @author Phillip Webb
|
* @author Phillip Webb
|
||||||
|
|
|
@ -70,7 +70,7 @@ public abstract class AnnotationCustomizableTypeExcludeFilter extends TypeExclud
|
||||||
|
|
||||||
protected boolean defaultInclude(MetadataReader metadataReader,
|
protected boolean defaultInclude(MetadataReader metadataReader,
|
||||||
MetadataReaderFactory metadataReaderFactory) throws IOException {
|
MetadataReaderFactory metadataReaderFactory) throws IOException {
|
||||||
for (Class<?> include : getDefaultIncudes()) {
|
for (Class<?> include : getDefaultIncludes()) {
|
||||||
if (isTypeOrAnnotated(metadataReader, metadataReaderFactory, include)) {
|
if (isTypeOrAnnotated(metadataReader, metadataReaderFactory, include)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -101,7 +101,7 @@ public abstract class AnnotationCustomizableTypeExcludeFilter extends TypeExclud
|
||||||
|
|
||||||
protected abstract boolean isUseDefaultFilters();
|
protected abstract boolean isUseDefaultFilters();
|
||||||
|
|
||||||
protected abstract Set<Class<?>> getDefaultIncudes();
|
protected abstract Set<Class<?>> getDefaultIncludes();
|
||||||
|
|
||||||
protected static enum FilterType {
|
protected static enum FilterType {
|
||||||
INCLUDE, EXCLUDE
|
INCLUDE, EXCLUDE
|
||||||
|
|
|
@ -72,13 +72,13 @@ public class FilterAnnotations implements Iterable<TypeFilter> {
|
||||||
switch (filterType) {
|
switch (filterType) {
|
||||||
case ANNOTATION:
|
case ANNOTATION:
|
||||||
Assert.isAssignable(Annotation.class, filterClass,
|
Assert.isAssignable(Annotation.class, filterClass,
|
||||||
"An error occured while processing a ANNOTATION type filter: ");
|
"An error occurred while processing a ANNOTATION type filter: ");
|
||||||
return new AnnotationTypeFilter((Class<Annotation>) filterClass);
|
return new AnnotationTypeFilter((Class<Annotation>) filterClass);
|
||||||
case ASSIGNABLE_TYPE:
|
case ASSIGNABLE_TYPE:
|
||||||
return new AssignableTypeFilter(filterClass);
|
return new AssignableTypeFilter(filterClass);
|
||||||
case CUSTOM:
|
case CUSTOM:
|
||||||
Assert.isAssignable(TypeFilter.class, filterClass,
|
Assert.isAssignable(TypeFilter.class, filterClass,
|
||||||
"An error occured while processing a CUSTOM type filter: ");
|
"An error occurred while processing a CUSTOM type filter: ");
|
||||||
return BeanUtils.instantiateClass(filterClass, TypeFilter.class);
|
return BeanUtils.instantiateClass(filterClass, TypeFilter.class);
|
||||||
}
|
}
|
||||||
throw new IllegalArgumentException(
|
throw new IllegalArgumentException(
|
||||||
|
|
|
@ -73,7 +73,7 @@ class JsonExcludeFilter extends AnnotationCustomizableTypeExcludeFilter {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Set<Class<?>> getDefaultIncudes() {
|
protected Set<Class<?>> getDefaultIncludes() {
|
||||||
return DEFAULT_INCLUDES;
|
return DEFAULT_INCLUDES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,14 +49,14 @@ public class JsonTesterInitializationTestExecutionListener
|
||||||
|
|
||||||
private static final String ASSERTJ_CLASS = "org.assertj.core.api.Assert";
|
private static final String ASSERTJ_CLASS = "org.assertj.core.api.Assert";
|
||||||
|
|
||||||
private static final Map<String, Class<?>> INITALIZERS;
|
private static final Map<String, Class<?>> INITIALIZERS;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
Map<String, Class<?>> initializers = new LinkedHashMap<String, Class<?>>();
|
Map<String, Class<?>> initializers = new LinkedHashMap<String, Class<?>>();
|
||||||
initializers.put("com.fasterxml.jackson.databind.ObjectMapper",
|
initializers.put("com.fasterxml.jackson.databind.ObjectMapper",
|
||||||
JacksonInitializer.class);
|
JacksonInitializer.class);
|
||||||
initializers.put("com.google.gson.Gson", GsonInitializer.class);
|
initializers.put("com.google.gson.Gson", GsonInitializer.class);
|
||||||
INITALIZERS = Collections.unmodifiableMap(initializers);
|
INITIALIZERS = Collections.unmodifiableMap(initializers);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -101,7 +101,7 @@ public class JsonTesterInitializationTestExecutionListener
|
||||||
|
|
||||||
private void initializeJsonMarshalTesterFields(ClassLoader classLoader,
|
private void initializeJsonMarshalTesterFields(ClassLoader classLoader,
|
||||||
TestContext testContext) {
|
TestContext testContext) {
|
||||||
for (Map.Entry<String, Class<?>> entry : INITALIZERS.entrySet()) {
|
for (Map.Entry<String, Class<?>> entry : INITIALIZERS.entrySet()) {
|
||||||
if (ClassUtils.isPresent(entry.getKey(), classLoader)) {
|
if (ClassUtils.isPresent(entry.getKey(), classLoader)) {
|
||||||
initializeJsonMarshalTesterFields(classLoader, testContext,
|
initializeJsonMarshalTesterFields(classLoader, testContext,
|
||||||
entry.getKey(), entry.getValue());
|
entry.getKey(), entry.getValue());
|
||||||
|
|
|
@ -69,7 +69,7 @@ class DataJpaTypeExcludeFilter extends AnnotationCustomizableTypeExcludeFilter {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Set<Class<?>> getDefaultIncudes() {
|
protected Set<Class<?>> getDefaultIncludes() {
|
||||||
return Collections.emptySet();
|
return Collections.emptySet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -103,7 +103,7 @@ public class TestEntityManager {
|
||||||
* {@link #getId(Object) entity ID}.
|
* {@link #getId(Object) entity ID}.
|
||||||
* <p>
|
* <p>
|
||||||
* Helpful when ensuring that entity data is actually written and read from the
|
* Helpful when ensuring that entity data is actually written and read from the
|
||||||
* underling database correctly.
|
* underlying database correctly.
|
||||||
* @param <E> the entity type
|
* @param <E> the entity type
|
||||||
* @param entity the entity to persist
|
* @param entity the entity to persist
|
||||||
* @return the entity found using the ID of the persisted entity
|
* @return the entity found using the ID of the persisted entity
|
||||||
|
@ -226,7 +226,7 @@ public class TestEntityManager {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public <T> T getId(Object entity, Class<T> idType) {
|
public <T> T getId(Object entity, Class<T> idType) {
|
||||||
Object id = getId(entity);
|
Object id = getId(entity);
|
||||||
Assert.isInstanceOf(idType, id, "ID missmatch");
|
Assert.isInstanceOf(idType, id, "ID mismatch");
|
||||||
return (T) id;
|
return (T) id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,7 +238,7 @@ public class TestEntityManager {
|
||||||
public final EntityManager getEntityManager() {
|
public final EntityManager getEntityManager() {
|
||||||
EntityManager manager = EntityManagerFactoryUtils
|
EntityManager manager = EntityManagerFactoryUtils
|
||||||
.getTransactionalEntityManager(this.entityManagerFactory);
|
.getTransactionalEntityManager(this.entityManagerFactory);
|
||||||
Assert.state(manager != null, "No transactional EnitiyManager found");
|
Assert.state(manager != null, "No transactional EntityManager found");
|
||||||
return manager;
|
return manager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ import org.springframework.test.web.servlet.MockMvc;
|
||||||
* By default, tests annotated with {@code @WebMvcTest} will also auto-configure
|
* By default, tests annotated with {@code @WebMvcTest} will also auto-configure
|
||||||
* {@link MockMvc} (include support for HtmlUnit WebDriver and Selenium WebClient). For
|
* {@link MockMvc} (include support for HtmlUnit WebDriver and Selenium WebClient). For
|
||||||
* more fine-grained control of MockMVC that
|
* more fine-grained control of MockMVC that
|
||||||
* {@link AutoConfigureMockMvc @AutoConfigureMockMvc} annotation cab be used.
|
* {@link AutoConfigureMockMvc @AutoConfigureMockMvc} annotation can be used.
|
||||||
* <p>
|
* <p>
|
||||||
* Typically {@code @WebMvcTest} is used in combination with {@link MockBean @MockBean} or
|
* Typically {@code @WebMvcTest} is used in combination with {@link MockBean @MockBean} or
|
||||||
* {@link Import @Import} to create any collaborators required by your {@code @Controller}
|
* {@link Import @Import} to create any collaborators required by your {@code @Controller}
|
||||||
|
|
|
@ -108,7 +108,7 @@ class WebMvcTypeExcludeFilter extends AnnotationCustomizableTypeExcludeFilter {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Set<Class<?>> getDefaultIncudes() {
|
protected Set<Class<?>> getDefaultIncludes() {
|
||||||
if (ObjectUtils.isEmpty(this.annotation.controllers())) {
|
if (ObjectUtils.isEmpty(this.annotation.controllers())) {
|
||||||
return DEFAULT_INCLUDES_AND_CONTROLLER;
|
return DEFAULT_INCLUDES_AND_CONTROLLER;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,7 @@ public class AutoConfigureReportTestExecutionListenerTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void prepareFialingTestInstanceShouldPrintReport() throws Exception {
|
public void prepareFailingTestInstanceShouldPrintReport() throws Exception {
|
||||||
TestContext testContext = mock(TestContext.class);
|
TestContext testContext = mock(TestContext.class);
|
||||||
given(testContext.getTestInstance()).willThrow(new IllegalStateException());
|
given(testContext.getTestInstance()).willThrow(new IllegalStateException());
|
||||||
SpringApplication application = new SpringApplication(Config.class);
|
SpringApplication application = new SpringApplication(Config.class);
|
||||||
|
|
|
@ -45,7 +45,7 @@ public class OverrideAutoConfigurationEnabledTrueIntegrationTest {
|
||||||
private ApplicationContext context;
|
private ApplicationContext context;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void autoconfiguredContext() throws Exception {
|
public void autoConfiguredContext() throws Exception {
|
||||||
ApplicationContext context = this.context;
|
ApplicationContext context = this.context;
|
||||||
assertThat(context.getBean(ExampleSpringBootApplication.class)).isNotNull();
|
assertThat(context.getBean(ExampleSpringBootApplication.class)).isNotNull();
|
||||||
assertThat(context.getBean(ConfigurationPropertiesBindingPostProcessor.class))
|
assertThat(context.getBean(ConfigurationPropertiesBindingPostProcessor.class))
|
||||||
|
|
|
@ -47,10 +47,10 @@ public class ExampleJsonComponent {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Deserialzer extends JsonObjectDeserializer<ExampleCustomObject> {
|
public static class Deserializer extends JsonObjectDeserializer<ExampleCustomObject> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ExampleCustomObject deserializeObject(JsonParser jasonParser,
|
protected ExampleCustomObject deserializeObject(JsonParser jsonParser,
|
||||||
DeserializationContext context, ObjectCodec codec, JsonNode tree)
|
DeserializationContext context, ObjectCodec codec, JsonNode tree)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
return new ExampleCustomObject(
|
return new ExampleCustomObject(
|
||||||
|
|
|
@ -202,7 +202,7 @@ public class TestEntityManagerTests {
|
||||||
public void getIdForTypeWhenTypeIsWrongShouldThrowException() throws Exception {
|
public void getIdForTypeWhenTypeIsWrongShouldThrowException() throws Exception {
|
||||||
TestEntity entity = new TestEntity();
|
TestEntity entity = new TestEntity();
|
||||||
given(this.persistenceUnitUtil.getIdentifier(entity)).willReturn(123);
|
given(this.persistenceUnitUtil.getIdentifier(entity)).willReturn(123);
|
||||||
this.thrown.expectMessage("ID missmatch Object of class [java.lang.Integer] "
|
this.thrown.expectMessage("ID mismatch Object of class [java.lang.Integer] "
|
||||||
+ "must be an instance of class java.lang.Long");
|
+ "must be an instance of class java.lang.Long");
|
||||||
this.testEntityManager.getId(entity, Long.class);
|
this.testEntityManager.getId(entity, Long.class);
|
||||||
}
|
}
|
||||||
|
@ -225,7 +225,7 @@ public class TestEntityManagerTests {
|
||||||
@Test
|
@Test
|
||||||
public void getEntityManagerWhenNotSetShouldThrowException() throws Exception {
|
public void getEntityManagerWhenNotSetShouldThrowException() throws Exception {
|
||||||
this.thrown.expect(IllegalStateException.class);
|
this.thrown.expect(IllegalStateException.class);
|
||||||
this.thrown.expectMessage("No transactional EnitiyManager found");
|
this.thrown.expectMessage("No transactional EntityManager found");
|
||||||
this.testEntityManager.getEntityManager();
|
this.testEntityManager.getEntityManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,7 @@ public class AnnotationsPropertySourceTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void propertiesWhenCountainsArryasShouldExpandNames() throws Exception {
|
public void propertiesWhenContainsArraysShouldExpandNames() throws Exception {
|
||||||
AnnotationsPropertySource source = new AnnotationsPropertySource(Arrays.class);
|
AnnotationsPropertySource source = new AnnotationsPropertySource(Arrays.class);
|
||||||
assertThat(source.getPropertyNames()).contains("strings[0]", "strings[1]",
|
assertThat(source.getPropertyNames()).contains("strings[0]", "strings[1]",
|
||||||
"classes[0]", "classes[1]", "ints[0]", "ints[1]", "longs[0]", "longs[1]",
|
"classes[0]", "classes[1]", "ints[0]", "ints[1]", "longs[0]", "longs[1]",
|
||||||
|
|
|
@ -20,7 +20,7 @@ import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Example {@link PropertyMapping} annotation for use wuth {@link PropertyMappingTests}.
|
* Example {@link PropertyMapping} annotation for use with {@link PropertyMappingTests}.
|
||||||
*
|
*
|
||||||
* @author Phillip Webb
|
* @author Phillip Webb
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -78,7 +78,7 @@ public class PropertyMappingContextCustomizerFactoryTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void hashCodeAndEqualsShoudBeBasedOnPropertyValues() throws Exception {
|
public void hashCodeAndEqualsShouldBeBasedOnPropertyValues() throws Exception {
|
||||||
ContextCustomizer customizer1 = this.factory
|
ContextCustomizer customizer1 = this.factory
|
||||||
.createContextCustomizer(TypeMapping.class, null);
|
.createContextCustomizer(TypeMapping.class, null);
|
||||||
ContextCustomizer customizer2 = this.factory
|
ContextCustomizer customizer2 = this.factory
|
||||||
|
|
|
@ -26,7 +26,7 @@ import org.springframework.test.context.junit4.SpringRunner;
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Integration tests for {@link PropertyMapping @PropertyMapping} annotaions.
|
* Integration tests for {@link PropertyMapping @PropertyMapping} annotations.
|
||||||
*
|
*
|
||||||
* @author Phillip Webb
|
* @author Phillip Webb
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -118,7 +118,7 @@ public class SpringBootTestContextBootstrapper extends DefaultTestContextBootstr
|
||||||
* differentiate regular tests and bootstrapped tests. Without this property a cached
|
* differentiate regular tests and bootstrapped tests. Without this property a cached
|
||||||
* context could be returned that wasn't created by this bootstrapper. By default uses
|
* context could be returned that wasn't created by this bootstrapper. By default uses
|
||||||
* the bootstrapper class as a property.
|
* the bootstrapper class as a property.
|
||||||
* @return the differentator or {@code null}
|
* @return the differentiator or {@code null}
|
||||||
*/
|
*/
|
||||||
protected String getDifferentiatorPropertySourceProperty() {
|
protected String getDifferentiatorPropertySourceProperty() {
|
||||||
return getClass().getName() + "=true";
|
return getClass().getName() + "=true";
|
||||||
|
|
|
@ -103,7 +103,7 @@ public @interface MockBean {
|
||||||
* When {@code @MockBean} also defines a {@code name} this attribute can only contain
|
* When {@code @MockBean} also defines a {@code name} this attribute can only contain
|
||||||
* a single value.
|
* a single value.
|
||||||
* <p>
|
* <p>
|
||||||
* If this is the only attribute specified consider using the {@code value} alais
|
* If this is the only attribute specified consider using the {@code value} alias
|
||||||
* instead.
|
* instead.
|
||||||
*/
|
*/
|
||||||
@AliasFor("value")
|
@AliasFor("value")
|
||||||
|
|
|
@ -289,95 +289,95 @@ public class JsonContentAssertTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isEqualToJsonWhenStringIsMatchingAndLienientShouldPass()
|
public void isEqualToJsonWhenStringIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson(LENIENT_SAME, JSONCompareMode.LENIENT);
|
assertThat(forJson(SOURCE)).isEqualToJson(LENIENT_SAME, JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isEqualToJsonWhenStringIsNotMatchingAndLienientShouldFail()
|
public void isEqualToJsonWhenStringIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson(DIFFERENT, JSONCompareMode.LENIENT);
|
assertThat(forJson(SOURCE)).isEqualToJson(DIFFERENT, JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isEqualToJsonWhenResourcePathIsMatchingAndLienientShouldPass()
|
public void isEqualToJsonWhenResourcePathIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson("lenient-same.json",
|
assertThat(forJson(SOURCE)).isEqualToJson("lenient-same.json",
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isEqualToJsonWhenResourcePathIsNotMatchingAndLienientShouldFail()
|
public void isEqualToJsonWhenResourcePathIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson("different.json",
|
assertThat(forJson(SOURCE)).isEqualToJson("different.json",
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isEqualToJsonWhenResourcePathAndClassIsMatchingAndLienientShouldPass()
|
public void isEqualToJsonWhenResourcePathAndClassIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson("lenient-same.json", getClass(),
|
assertThat(forJson(SOURCE)).isEqualToJson("lenient-same.json", getClass(),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isEqualToJsonWhenResourcePathAndClassIsNotMatchingAndLienientShouldFail()
|
public void isEqualToJsonWhenResourcePathAndClassIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson("different.json", getClass(),
|
assertThat(forJson(SOURCE)).isEqualToJson("different.json", getClass(),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isEqualToJsonWhenBytesAreMatchingAndLienientShouldPass()
|
public void isEqualToJsonWhenBytesAreMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson(LENIENT_SAME.getBytes(),
|
assertThat(forJson(SOURCE)).isEqualToJson(LENIENT_SAME.getBytes(),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isEqualToJsonWhenBytesAreNotMatchingAndLienientShouldFail()
|
public void isEqualToJsonWhenBytesAreNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson(DIFFERENT.getBytes(),
|
assertThat(forJson(SOURCE)).isEqualToJson(DIFFERENT.getBytes(),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isEqualToJsonWhenFileIsMatchingAndLienientShouldPass() throws Exception {
|
public void isEqualToJsonWhenFileIsMatchingAndLenientShouldPass() throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson(createFile(LENIENT_SAME),
|
assertThat(forJson(SOURCE)).isEqualToJson(createFile(LENIENT_SAME),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isEqualToJsonWhenFileIsNotMatchingAndLienientShouldFail()
|
public void isEqualToJsonWhenFileIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson(createFile(DIFFERENT),
|
assertThat(forJson(SOURCE)).isEqualToJson(createFile(DIFFERENT),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isEqualToJsonWhenInputStreamIsMatchingAndLienientShouldPass()
|
public void isEqualToJsonWhenInputStreamIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson(createInputStream(LENIENT_SAME),
|
assertThat(forJson(SOURCE)).isEqualToJson(createInputStream(LENIENT_SAME),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isEqualToJsonWhenInputStreamIsNotMatchingAndLienientShouldFail()
|
public void isEqualToJsonWhenInputStreamIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson(createInputStream(DIFFERENT),
|
assertThat(forJson(SOURCE)).isEqualToJson(createInputStream(DIFFERENT),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isEqualToJsonWhenResourceIsMatchingAndLienientShouldPass()
|
public void isEqualToJsonWhenResourceIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson(createResource(LENIENT_SAME),
|
assertThat(forJson(SOURCE)).isEqualToJson(createResource(LENIENT_SAME),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isEqualToJsonWhenResourceIsNotMatchingAndLienientShouldFail()
|
public void isEqualToJsonWhenResourceIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isEqualToJson(createResource(DIFFERENT),
|
assertThat(forJson(SOURCE)).isEqualToJson(createResource(DIFFERENT),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
|
@ -712,97 +712,97 @@ public class JsonContentAssertTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isNotEqualToJsonWhenStringIsMatchingAndLienientShouldPass()
|
public void isNotEqualToJsonWhenStringIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson(LENIENT_SAME,
|
assertThat(forJson(SOURCE)).isNotEqualToJson(LENIENT_SAME,
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isNotEqualToJsonWhenStringIsNotMatchingAndLienientShouldFail()
|
public void isNotEqualToJsonWhenStringIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson(DIFFERENT, JSONCompareMode.LENIENT);
|
assertThat(forJson(SOURCE)).isNotEqualToJson(DIFFERENT, JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isNotEqualToJsonWhenResourcePathIsMatchingAndLienientShouldPass()
|
public void isNotEqualToJsonWhenResourcePathIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson("lenient-same.json",
|
assertThat(forJson(SOURCE)).isNotEqualToJson("lenient-same.json",
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isNotEqualToJsonWhenResourcePathIsNotMatchingAndLienientShouldFail()
|
public void isNotEqualToJsonWhenResourcePathIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson("different.json",
|
assertThat(forJson(SOURCE)).isNotEqualToJson("different.json",
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isNotEqualToJsonWhenResourcePathAndClassIsMatchingAndLienientShouldPass()
|
public void isNotEqualToJsonWhenResourcePathAndClassIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson("lenient-same.json", getClass(),
|
assertThat(forJson(SOURCE)).isNotEqualToJson("lenient-same.json", getClass(),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isNotEqualToJsonWhenResourcePathAndClassIsNotMatchingAndLienientShouldFail()
|
public void isNotEqualToJsonWhenResourcePathAndClassIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson("different.json", getClass(),
|
assertThat(forJson(SOURCE)).isNotEqualToJson("different.json", getClass(),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isNotEqualToJsonWhenBytesAreMatchingAndLienientShouldPass()
|
public void isNotEqualToJsonWhenBytesAreMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson(LENIENT_SAME.getBytes(),
|
assertThat(forJson(SOURCE)).isNotEqualToJson(LENIENT_SAME.getBytes(),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isNotEqualToJsonWhenBytesAreNotMatchingAndLienientShouldFail()
|
public void isNotEqualToJsonWhenBytesAreNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson(DIFFERENT.getBytes(),
|
assertThat(forJson(SOURCE)).isNotEqualToJson(DIFFERENT.getBytes(),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isNotEqualToJsonWhenFileIsMatchingAndLienientShouldPass()
|
public void isNotEqualToJsonWhenFileIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson(createFile(LENIENT_SAME),
|
assertThat(forJson(SOURCE)).isNotEqualToJson(createFile(LENIENT_SAME),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isNotEqualToJsonWhenFileIsNotMatchingAndLienientShouldFail()
|
public void isNotEqualToJsonWhenFileIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson(createFile(DIFFERENT),
|
assertThat(forJson(SOURCE)).isNotEqualToJson(createFile(DIFFERENT),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isNotEqualToJsonWhenInputStreamIsMatchingAndLienientShouldPass()
|
public void isNotEqualToJsonWhenInputStreamIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson(createInputStream(LENIENT_SAME),
|
assertThat(forJson(SOURCE)).isNotEqualToJson(createInputStream(LENIENT_SAME),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isNotEqualToJsonWhenInputStreamIsNotMatchingAndLienientShouldFail()
|
public void isNotEqualToJsonWhenInputStreamIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson(createInputStream(DIFFERENT),
|
assertThat(forJson(SOURCE)).isNotEqualToJson(createInputStream(DIFFERENT),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = AssertionError.class)
|
@Test(expected = AssertionError.class)
|
||||||
public void isNotEqualToJsonWhenResourceIsMatchingAndLienientShouldPass()
|
public void isNotEqualToJsonWhenResourceIsMatchingAndLenientShouldPass()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson(createResource(LENIENT_SAME),
|
assertThat(forJson(SOURCE)).isNotEqualToJson(createResource(LENIENT_SAME),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isNotEqualToJsonWhenResourceIsNotMatchingAndLienientShouldFail()
|
public void isNotEqualToJsonWhenResourceIsNotMatchingAndLenientShouldFail()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SOURCE)).isNotEqualToJson(createResource(DIFFERENT),
|
assertThat(forJson(SOURCE)).isNotEqualToJson(createResource(DIFFERENT),
|
||||||
JSONCompareMode.LENIENT);
|
JSONCompareMode.LENIENT);
|
||||||
|
@ -924,13 +924,13 @@ public class JsonContentAssertTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void hasJsonPathValueForIndefinatePathWithResults() throws Exception {
|
public void hasJsonPathValueForIndefinitePathWithResults() throws Exception {
|
||||||
assertThat(forJson(SIMPSONS))
|
assertThat(forJson(SIMPSONS))
|
||||||
.hasJsonPathValue("$.familyMembers[?(@.name == 'Bart')]");
|
.hasJsonPathValue("$.familyMembers[?(@.name == 'Bart')]");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void hasJsonPathValueForIndefinatePathWithEmptyResults() throws Exception {
|
public void hasJsonPathValueForIndefinitePathWithEmptyResults() throws Exception {
|
||||||
String expression = "$.familyMembers[?(@.name == 'Dilbert')]";
|
String expression = "$.familyMembers[?(@.name == 'Dilbert')]";
|
||||||
this.thrown.expect(AssertionError.class);
|
this.thrown.expect(AssertionError.class);
|
||||||
this.thrown.expectMessage("No value at JSON path \"" + expression + "\"");
|
this.thrown.expectMessage("No value at JSON path \"" + expression + "\"");
|
||||||
|
@ -961,7 +961,7 @@ public class JsonContentAssertTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void doesNotHaveJsonPathValueForIndefinatePathWithResults() throws Exception {
|
public void doesNotHaveJsonPathValueForIndefinitePathWithResults() throws Exception {
|
||||||
String expression = "$.familyMembers[?(@.name == 'Bart')]";
|
String expression = "$.familyMembers[?(@.name == 'Bart')]";
|
||||||
this.thrown.expect(AssertionError.class);
|
this.thrown.expect(AssertionError.class);
|
||||||
this.thrown.expectMessage("Expected no value at JSON path \"" + expression
|
this.thrown.expectMessage("Expected no value at JSON path \"" + expression
|
||||||
|
@ -970,7 +970,7 @@ public class JsonContentAssertTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void doesNotHaveJsonPathValueForIndefinatePathWithEmptyResults()
|
public void doesNotHaveJsonPathValueForIndefinitePathWithEmptyResults()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SIMPSONS))
|
assertThat(forJson(SIMPSONS))
|
||||||
.doesNotHaveJsonPathValue("$.familyMembers[?(@.name == 'Dilbert')]");
|
.doesNotHaveJsonPathValue("$.familyMembers[?(@.name == 'Dilbert')]");
|
||||||
|
@ -992,14 +992,14 @@ public class JsonContentAssertTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void hasEmptyJsonPathValueForIndefinatePathWithEmptyResults()
|
public void hasEmptyJsonPathValueForIndefinitePathWithEmptyResults()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SIMPSONS))
|
assertThat(forJson(SIMPSONS))
|
||||||
.hasEmptyJsonPathValue("$.familyMembers[?(@.name == 'Dilbert')]");
|
.hasEmptyJsonPathValue("$.familyMembers[?(@.name == 'Dilbert')]");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void hasEmptyJsonPathValueForIndefinatePathWithResults() throws Exception {
|
public void hasEmptyJsonPathValueForIndefinitePathWithResults() throws Exception {
|
||||||
String expression = "$.familyMembers[?(@.name == 'Bart')]";
|
String expression = "$.familyMembers[?(@.name == 'Bart')]";
|
||||||
this.thrown.expect(AssertionError.class);
|
this.thrown.expect(AssertionError.class);
|
||||||
this.thrown.expectMessage("Expected an empty value at JSON path \"" + expression
|
this.thrown.expectMessage("Expected an empty value at JSON path \"" + expression
|
||||||
|
@ -1042,14 +1042,14 @@ public class JsonContentAssertTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void doesNotHaveEmptyJsonPathValueForIndefinatePathWithResults()
|
public void doesNotHaveEmptyJsonPathValueForIndefinitePathWithResults()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
assertThat(forJson(SIMPSONS))
|
assertThat(forJson(SIMPSONS))
|
||||||
.doesNotHaveEmptyJsonPathValue("$.familyMembers[?(@.name == 'Bart')]");
|
.doesNotHaveEmptyJsonPathValue("$.familyMembers[?(@.name == 'Bart')]");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void doesNotHaveEmptyJsonPathValueForIndefinatePathWithEmptyResults()
|
public void doesNotHaveEmptyJsonPathValueForIndefinitePathWithEmptyResults()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
String expression = "$.familyMembers[?(@.name == 'Dilbert')]";
|
String expression = "$.familyMembers[?(@.name == 'Dilbert')]";
|
||||||
this.thrown.expect(AssertionError.class);
|
this.thrown.expect(AssertionError.class);
|
||||||
|
|
|
@ -38,7 +38,7 @@ public class MockitoPostProcessorTests {
|
||||||
public ExpectedException thrown = ExpectedException.none();
|
public ExpectedException thrown = ExpectedException.none();
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void cannotMockMulipleBeans() {
|
public void cannotMockMultipleBeans() {
|
||||||
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
|
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
|
||||||
MockitoPostProcessor.register(context);
|
MockitoPostProcessor.register(context);
|
||||||
context.register(MultipleBeans.class);
|
context.register(MultipleBeans.class);
|
||||||
|
|
|
@ -39,7 +39,7 @@ import org.springframework.core.type.filter.TypeFilter;
|
||||||
* override the {@link #match(MetadataReader, MetadataReaderFactory)} method.
|
* override the {@link #match(MetadataReader, MetadataReaderFactory)} method.
|
||||||
* <p>
|
* <p>
|
||||||
* Note that {@code TypeExcludeFilters} are initialized very early in the application
|
* Note that {@code TypeExcludeFilters} are initialized very early in the application
|
||||||
* lifecyle, they should generally not have dependencies on any other beans. They and are
|
* lifecycle, they should generally not have dependencies on any other beans. They and are
|
||||||
* primarily used internally to support {@code spring-boot-test}.
|
* primarily used internally to support {@code spring-boot-test}.
|
||||||
*
|
*
|
||||||
* @author Phillip Webb
|
* @author Phillip Webb
|
||||||
|
|
|
@ -26,7 +26,7 @@ import org.springframework.beans.factory.annotation.Value;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Annotation at the field or method/constructor parameter level that injects the HTTP
|
* Annotation at the field or method/constructor parameter level that injects the HTTP
|
||||||
* port that got allocated at runtime. Privdes a convenient alternative for
|
* port that got allocated at runtime. Provides a convenient alternative for
|
||||||
* <code>@Value("${local.server.port}")</code>.
|
* <code>@Value("${local.server.port}")</code>.
|
||||||
*
|
*
|
||||||
* @author Anand Shah
|
* @author Anand Shah
|
||||||
|
|
|
@ -170,7 +170,7 @@ public abstract class AbstractLoggingSystem extends LoggingSystem {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final void applySystemProperties(Environment environment, LogFile logFile) {
|
protected final void applySystemProperties(Environment environment, LogFile logFile) {
|
||||||
new LoggingSytemProperties(environment).apply(logFile);
|
new LoggingSystemProperties(environment).apply(logFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,12 +102,12 @@ public class LoggingApplicationListener implements GenericApplicationListener {
|
||||||
/**
|
/**
|
||||||
* The name of the System property that contains the process ID.
|
* The name of the System property that contains the process ID.
|
||||||
*/
|
*/
|
||||||
public static final String PID_KEY = LoggingSytemProperties.PID_KEY;
|
public static final String PID_KEY = LoggingSystemProperties.PID_KEY;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The name of the System property that contains the exception conversion word.
|
* The name of the System property that contains the exception conversion word.
|
||||||
*/
|
*/
|
||||||
public static final String EXCEPTION_CONVERSION_WORD = LoggingSytemProperties.EXCEPTION_CONVERSION_WORD;
|
public static final String EXCEPTION_CONVERSION_WORD = LoggingSystemProperties.EXCEPTION_CONVERSION_WORD;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The name of the System property that contains the log file.
|
* The name of the System property that contains the log file.
|
||||||
|
@ -122,17 +122,17 @@ public class LoggingApplicationListener implements GenericApplicationListener {
|
||||||
/**
|
/**
|
||||||
* The name of the System property that contains the console log pattern.
|
* The name of the System property that contains the console log pattern.
|
||||||
*/
|
*/
|
||||||
public static final String CONSOLE_LOG_PATTERN = LoggingSytemProperties.CONSOLE_LOG_PATTERN;
|
public static final String CONSOLE_LOG_PATTERN = LoggingSystemProperties.CONSOLE_LOG_PATTERN;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The name of the System property that contains the file log pattern.
|
* The name of the System property that contains the file log pattern.
|
||||||
*/
|
*/
|
||||||
public static final String FILE_LOG_PATTERN = LoggingSytemProperties.FILE_LOG_PATTERN;
|
public static final String FILE_LOG_PATTERN = LoggingSystemProperties.FILE_LOG_PATTERN;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The name of the System property that contains the log level pattern.
|
* The name of the System property that contains the log level pattern.
|
||||||
*/
|
*/
|
||||||
public static final String LOG_LEVEL_PATTERN = LoggingSytemProperties.LOG_LEVEL_PATTERN;
|
public static final String LOG_LEVEL_PATTERN = LoggingSystemProperties.LOG_LEVEL_PATTERN;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The name of the {@link LoggingSystem} bean.
|
* The name of the {@link LoggingSystem} bean.
|
||||||
|
@ -247,7 +247,7 @@ public class LoggingApplicationListener implements GenericApplicationListener {
|
||||||
*/
|
*/
|
||||||
protected void initialize(ConfigurableEnvironment environment,
|
protected void initialize(ConfigurableEnvironment environment,
|
||||||
ClassLoader classLoader) {
|
ClassLoader classLoader) {
|
||||||
new LoggingSytemProperties(environment).apply();
|
new LoggingSystemProperties(environment).apply();
|
||||||
LogFile logFile = LogFile.get(environment);
|
LogFile logFile = LogFile.get(environment);
|
||||||
if (logFile != null) {
|
if (logFile != null) {
|
||||||
logFile.applyToSystemProperties();
|
logFile.applyToSystemProperties();
|
||||||
|
|
|
@ -26,7 +26,7 @@ import org.springframework.core.env.Environment;
|
||||||
* @author Andy Wilkinson
|
* @author Andy Wilkinson
|
||||||
* @author Phillip Webb
|
* @author Phillip Webb
|
||||||
*/
|
*/
|
||||||
class LoggingSytemProperties {
|
class LoggingSystemProperties {
|
||||||
|
|
||||||
static final String PID_KEY = "PID";
|
static final String PID_KEY = "PID";
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ class LoggingSytemProperties {
|
||||||
|
|
||||||
private final Environment environment;
|
private final Environment environment;
|
||||||
|
|
||||||
LoggingSytemProperties(Environment environment) {
|
LoggingSystemProperties(Environment environment) {
|
||||||
this.environment = environment;
|
this.environment = environment;
|
||||||
}
|
}
|
||||||
|
|
|
@ -304,7 +304,7 @@ public class LogbackLoggingSystemTests extends AbstractLoggingSystemTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void reinitializeShouldSetSytemProperty() throws Exception {
|
public void reinitializeShouldSetSystemProperty() throws Exception {
|
||||||
// gh-5491
|
// gh-5491
|
||||||
this.loggingSystem.beforeInitialize();
|
this.loggingSystem.beforeInitialize();
|
||||||
this.logger.info("Hidden");
|
this.logger.info("Hidden");
|
||||||
|
|
Loading…
Reference in New Issue