Merge branch '2.7.x' into 3.0.x

This commit is contained in:
Phillip Webb 2023-03-02 22:10:01 -08:00
commit d1f89db9a2

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2023 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.
@ -17,6 +17,9 @@
package org.springframework.boot.configurationprocessor.tests;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@ -24,8 +27,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.configurationmetadata.ConfigurationMetadataProperty;
import org.springframework.boot.configurationmetadata.ConfigurationMetadataRepository;
import org.springframework.boot.configurationmetadata.ConfigurationMetadataRepositoryJsonBuilder;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.util.CollectionUtils;
import static org.assertj.core.api.Assertions.assertThat;
@ -40,12 +42,20 @@ class ConfigurationProcessorIntegrationTests {
@BeforeAll
static void readMetadata() throws IOException {
Resource resource = new ClassPathResource("META-INF/spring-configuration-metadata.json");
assertThat(resource.exists()).isTrue();
// Make sure the right file is detected
assertThat(resource.getURL().toString()).contains("spring-boot-configuration-processor-tests");
repository = ConfigurationMetadataRepositoryJsonBuilder.create(resource.getInputStream()).build();
repository = ConfigurationMetadataRepositoryJsonBuilder.create(getResource().openStream()).build();
}
private static URL getResource() throws IOException {
ClassLoader classLoader = ConfigurationProcessorIntegrationTests.class.getClassLoader();
List<URL> urls = new ArrayList<>();
CollectionUtils.toIterator(classLoader.getResources("META-INF/spring-configuration-metadata.json"))
.forEachRemaining(urls::add);
for (URL url : urls) {
if (url.toString().contains("spring-boot-configuration-processor-tests")) {
return url;
}
}
throw new IllegalStateException("Unable to find correct configuration-metadata resource from " + urls);
}
@Test