Java Code Examples for org.springframework.test.context.TestPropertySource

The following examples show how to use org.springframework.test.context.TestPropertySource. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: spring-analysis-note   Source File: TestPropertySourceUtils.java    License: MIT License 5 votes vote down vote up
static MergedTestPropertySources buildMergedTestPropertySources(Class<?> testClass) {
	Class<TestPropertySource> annotationType = TestPropertySource.class;
	AnnotationDescriptor<TestPropertySource> descriptor = findAnnotationDescriptor(testClass, annotationType);
	if (descriptor == null) {
		return new MergedTestPropertySources();
	}

	List<TestPropertySourceAttributes> attributesList = resolveTestPropertySourceAttributes(testClass);
	String[] locations = mergeLocations(attributesList);
	String[] properties = mergeProperties(attributesList);
	return new MergedTestPropertySources(locations, properties);
}
 
Example 2
Source Project: spring-analysis-note   Source File: TestPropertySourceUtils.java    License: MIT License 5 votes vote down vote up
private static List<TestPropertySourceAttributes> resolveTestPropertySourceAttributes(Class<?> testClass) {
	Assert.notNull(testClass, "Class must not be null");
	List<TestPropertySourceAttributes> attributesList = new ArrayList<>();
	Class<TestPropertySource> annotationType = TestPropertySource.class;

	AnnotationDescriptor<TestPropertySource> descriptor = findAnnotationDescriptor(testClass, annotationType);
	Assert.notNull(descriptor, String.format(
			"Could not find an 'annotation declaring class' for annotation type [%s] and class [%s]",
			annotationType.getName(), testClass.getName()));

	while (descriptor != null) {
		TestPropertySource testPropertySource = descriptor.synthesizeAnnotation();
		Class<?> rootDeclaringClass = descriptor.getRootDeclaringClass();
		if (logger.isTraceEnabled()) {
			logger.trace(String.format("Retrieved @TestPropertySource [%s] for declaring class [%s].",
				testPropertySource, rootDeclaringClass.getName()));
		}
		TestPropertySourceAttributes attributes =
				new TestPropertySourceAttributes(rootDeclaringClass, testPropertySource);
		if (logger.isTraceEnabled()) {
			logger.trace("Resolved TestPropertySource attributes: " + attributes);
		}
		attributesList.add(attributes);
		descriptor = findAnnotationDescriptor(rootDeclaringClass.getSuperclass(), annotationType);
	}

	return attributesList;
}
 
Example 3
Source Project: java-technology-stack   Source File: TestPropertySourceUtils.java    License: MIT License 5 votes vote down vote up
static MergedTestPropertySources buildMergedTestPropertySources(Class<?> testClass) {
	Class<TestPropertySource> annotationType = TestPropertySource.class;
	AnnotationDescriptor<TestPropertySource> descriptor = findAnnotationDescriptor(testClass, annotationType);
	if (descriptor == null) {
		return new MergedTestPropertySources();
	}

	List<TestPropertySourceAttributes> attributesList = resolveTestPropertySourceAttributes(testClass);
	String[] locations = mergeLocations(attributesList);
	String[] properties = mergeProperties(attributesList);
	return new MergedTestPropertySources(locations, properties);
}
 
Example 4
Source Project: java-technology-stack   Source File: TestPropertySourceUtils.java    License: MIT License 5 votes vote down vote up
private static List<TestPropertySourceAttributes> resolveTestPropertySourceAttributes(Class<?> testClass) {
	Assert.notNull(testClass, "Class must not be null");
	List<TestPropertySourceAttributes> attributesList = new ArrayList<>();
	Class<TestPropertySource> annotationType = TestPropertySource.class;

	AnnotationDescriptor<TestPropertySource> descriptor = findAnnotationDescriptor(testClass, annotationType);
	Assert.notNull(descriptor, String.format(
			"Could not find an 'annotation declaring class' for annotation type [%s] and class [%s]",
			annotationType.getName(), testClass.getName()));

	while (descriptor != null) {
		TestPropertySource testPropertySource = descriptor.synthesizeAnnotation();
		Class<?> rootDeclaringClass = descriptor.getRootDeclaringClass();
		if (logger.isTraceEnabled()) {
			logger.trace(String.format("Retrieved @TestPropertySource [%s] for declaring class [%s].",
				testPropertySource, rootDeclaringClass.getName()));
		}
		TestPropertySourceAttributes attributes =
				new TestPropertySourceAttributes(rootDeclaringClass, testPropertySource);
		if (logger.isTraceEnabled()) {
			logger.trace("Resolved TestPropertySource attributes: " + attributes);
		}
		attributesList.add(attributes);
		descriptor = findAnnotationDescriptor(rootDeclaringClass.getSuperclass(), annotationType);
	}

	return attributesList;
}
 
Example 5
@Test
void testClassWithWavefrontDisablesMetricsExport() {
	ProjectRequest request = createProjectRequest("wavefront");
	ProjectStructure project = generateProject(request);
	assertThat(project).asJvmModule(new JavaLanguage()).testSource("com.example.demo", "DemoApplicationTests")
			.contains("import " + TestPropertySource.class.getName())
			.contains("@TestPropertySource(properties = \"management.metrics.export.wavefront.enabled=false\")");
}
 
Example 6
@Test
void testClassWithoutWavefrontDoesNotDisableMetricsExport() {
	ProjectRequest request = createProjectRequest("datadog");
	ProjectStructure project = generateProject(request);
	assertThat(project).asJvmModule(new JavaLanguage()).testSource("com.example.demo", "DemoApplicationTests")
			.doesNotContain("import " + TestPropertySource.class.getName()).doesNotContain(
					"@TestPropertySource(properties = \"management.metrics.export.wavefront.enabled=false\")");
}
 
Example 7
static MergedTestPropertySources buildMergedTestPropertySources(Class<?> testClass) {
	Class<TestPropertySource> annotationType = TestPropertySource.class;
	AnnotationDescriptor<TestPropertySource> descriptor = findAnnotationDescriptor(testClass, annotationType);
	if (descriptor == null) {
		return new MergedTestPropertySources();
	}

	// else...
	List<TestPropertySourceAttributes> attributesList = resolveTestPropertySourceAttributes(testClass);
	String[] locations = mergeLocations(attributesList);
	String[] properties = mergeProperties(attributesList);
	return new MergedTestPropertySources(locations, properties);
}
 
Example 8
private static List<TestPropertySourceAttributes> resolveTestPropertySourceAttributes(Class<?> testClass) {
	Assert.notNull(testClass, "Class must not be null");

	final List<TestPropertySourceAttributes> attributesList = new ArrayList<TestPropertySourceAttributes>();
	final Class<TestPropertySource> annotationType = TestPropertySource.class;
	AnnotationDescriptor<TestPropertySource> descriptor = findAnnotationDescriptor(testClass, annotationType);
	Assert.notNull(descriptor, String.format(
		"Could not find an 'annotation declaring class' for annotation type [%s] and class [%s]",
		annotationType.getName(), testClass.getName()));

	while (descriptor != null) {
		TestPropertySource testPropertySource = descriptor.synthesizeAnnotation();
		Class<?> rootDeclaringClass = descriptor.getRootDeclaringClass();

		if (logger.isTraceEnabled()) {
			logger.trace(String.format("Retrieved @TestPropertySource [%s] for declaring class [%s].",
				testPropertySource, rootDeclaringClass.getName()));
		}

		TestPropertySourceAttributes attributes = new TestPropertySourceAttributes(rootDeclaringClass,
			testPropertySource);
		if (logger.isTraceEnabled()) {
			logger.trace("Resolved TestPropertySource attributes: " + attributes);
		}
		attributesList.add(attributes);

		descriptor = findAnnotationDescriptor(rootDeclaringClass.getSuperclass(), annotationType);
	}

	return attributesList;
}
 
Example 9
/**
 * Create a new {@code TestPropertySourceAttributes} instance for the
 * supplied {@link TestPropertySource @TestPropertySource} annotation and
 * the {@linkplain Class test class} that declared it, enforcing
 * configuration rules and detecting a default properties file if
 * necessary.
 * @param declaringClass the class that declared {@code @TestPropertySource}
 * @param testPropertySource the annotation from which to retrieve the attributes
 * @since 4.2
 */
TestPropertySourceAttributes(Class<?> declaringClass, TestPropertySource testPropertySource) {
	this(declaringClass, testPropertySource.locations(), testPropertySource.inheritLocations(),
		testPropertySource.properties(), testPropertySource.inheritProperties());
}
 
Example 10
/**
 * Create a new {@code TestPropertySourceAttributes} instance for the
 * supplied {@link TestPropertySource @TestPropertySource} annotation and
 * the {@linkplain Class test class} that declared it, enforcing
 * configuration rules and detecting a default properties file if
 * necessary.
 * @param declaringClass the class that declared {@code @TestPropertySource}
 * @param testPropertySource the annotation from which to retrieve the attributes
 * @since 4.2
 */
TestPropertySourceAttributes(Class<?> declaringClass, TestPropertySource testPropertySource) {
	this(declaringClass, testPropertySource.locations(), testPropertySource.inheritLocations(),
		testPropertySource.properties(), testPropertySource.inheritProperties());
}
 
Example 11
/**
 * Create a new {@code TestPropertySourceAttributes} instance for the
 * supplied {@link TestPropertySource @TestPropertySource} annotation and
 * the {@linkplain Class test class} that declared it, enforcing
 * configuration rules and detecting a default properties file if
 * necessary.
 * @param declaringClass the class that declared {@code @TestPropertySource}
 * @param testPropertySource the annotation from which to retrieve the attributes
 * @since 4.2
 */
TestPropertySourceAttributes(Class<?> declaringClass, TestPropertySource testPropertySource) {
	this(declaringClass, testPropertySource.locations(), testPropertySource.inheritLocations(),
		testPropertySource.properties(), testPropertySource.inheritProperties());
}