Skip to content

Commit 0f59ac5

Browse files
Merge pull request #47807 from radcortez/fix-47755
Allow to override default config profile in the JUnit Config
2 parents 38efe28 + 71e7d40 commit 0f59ac5

File tree

4 files changed

+35
-8
lines changed

4 files changed

+35
-8
lines changed

extensions/vertx-http/dev-ui-tests/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
<name>Quarkus - Vert.x - HTTP - Dev UI Tests</name>
1313

1414
<dependencies>
15+
<dependency>
16+
<groupId>io.quarkus</groupId>
17+
<artifactId>quarkus-junit5-config</artifactId>
18+
</dependency>
1519
<dependency>
1620
<groupId>io.vertx</groupId>
1721
<artifactId>vertx-core</artifactId>

extensions/vertx-http/dev-ui-tests/src/main/java/io/quarkus/devui/tests/DevUIBuildTimeDataTest.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.quarkus.devui.tests;
22

3+
import static io.quarkus.runtime.LaunchMode.DEVELOPMENT;
4+
35
import java.io.IOException;
46
import java.net.MalformedURLException;
57
import java.net.URI;
@@ -8,14 +10,17 @@
810
import java.util.List;
911
import java.util.Scanner;
1012

11-
import org.eclipse.microprofile.config.ConfigProvider;
13+
import org.eclipse.microprofile.config.Config;
14+
import org.eclipse.microprofile.config.spi.ConfigProviderResolver;
1215
import org.jboss.logging.Logger;
1316

1417
import com.fasterxml.jackson.core.JsonFactory;
1518
import com.fasterxml.jackson.core.JsonParser;
1619
import com.fasterxml.jackson.databind.JsonNode;
1720
import com.fasterxml.jackson.databind.ObjectMapper;
1821

22+
import io.quarkus.test.config.TestConfigProviderResolver;
23+
1924
public abstract class DevUIBuildTimeDataTest {
2025

2126
protected static final Logger log = Logger.getLogger(DevUIBuildTimeDataTest.class);
@@ -26,9 +31,9 @@ public abstract class DevUIBuildTimeDataTest {
2631
private final JsonFactory factory = mapper.getFactory();
2732

2833
public DevUIBuildTimeDataTest(String namespace) {
29-
String testUrl = ConfigProvider.getConfig().getValue("test.url", String.class);
30-
String nonApplicationRoot = ConfigProvider.getConfig()
31-
.getOptionalValue("quarkus.http.non-application-root-path", String.class).orElse("q");
34+
Config config = ((TestConfigProviderResolver) ConfigProviderResolver.instance()).getConfig(DEVELOPMENT);
35+
String testUrl = config.getValue("test.url", String.class);
36+
String nonApplicationRoot = config.getOptionalValue("quarkus.http.non-application-root-path", String.class).orElse("q");
3237
if (!nonApplicationRoot.startsWith("/")) {
3338
nonApplicationRoot = "/" + nonApplicationRoot;
3439
}

extensions/vertx-http/dev-ui-tests/src/main/java/io/quarkus/devui/tests/DevUIJsonRPCTest.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package io.quarkus.devui.tests;
22

3+
import static io.quarkus.runtime.LaunchMode.DEVELOPMENT;
4+
35
import java.io.IOException;
46
import java.net.URI;
57
import java.util.Map;
68
import java.util.Random;
79
import java.util.concurrent.ConcurrentHashMap;
810
import java.util.concurrent.TimeUnit;
911

10-
import org.eclipse.microprofile.config.ConfigProvider;
12+
import org.eclipse.microprofile.config.spi.ConfigProviderResolver;
1113
import org.jboss.logging.Logger;
1214

1315
import com.fasterxml.jackson.core.JsonFactory;
@@ -19,6 +21,7 @@
1921
import com.fasterxml.jackson.databind.ObjectMapper;
2022
import com.fasterxml.jackson.databind.node.ObjectNode;
2123

24+
import io.quarkus.test.config.TestConfigProviderResolver;
2225
import io.vertx.core.Vertx;
2326
import io.vertx.core.buffer.Buffer;
2427
import io.vertx.core.http.HttpClient;
@@ -40,13 +43,14 @@ public class DevUIJsonRPCTest {
4043
private final String testUrl;
4144

4245
public DevUIJsonRPCTest(String namespace) {
43-
this(namespace, ConfigProvider.getConfig().getValue("test.url", String.class));
46+
this(namespace, ((TestConfigProviderResolver) ConfigProviderResolver.instance()).getConfig(DEVELOPMENT)
47+
.getValue("test.url", String.class));
4448
}
4549

4650
public DevUIJsonRPCTest(String namespace, String testUrl) {
4751
this.namespace = namespace;
4852
this.testUrl = testUrl;
49-
String nonApplicationRoot = ConfigProvider.getConfig()
53+
String nonApplicationRoot = ((TestConfigProviderResolver) ConfigProviderResolver.instance()).getConfig(DEVELOPMENT)
5054
.getOptionalValue("quarkus.http.non-application-root-path", String.class).orElse("q");
5155
if (!nonApplicationRoot.startsWith("/")) {
5256
nonApplicationRoot = "/" + nonApplicationRoot;

test-framework/junit5-config/src/main/java/io/quarkus/test/config/TestConfigProviderResolver.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import io.quarkus.runtime.configuration.ConfigUtils;
1313
import io.smallrye.config.SmallRyeConfig;
1414
import io.smallrye.config.SmallRyeConfigBuilder;
15+
import io.smallrye.config.SmallRyeConfigBuilderCustomizer;
1516
import io.smallrye.config.SmallRyeConfigProviderResolver;
1617

1718
/**
@@ -50,15 +51,28 @@ public Config getConfig() {
5051
public Config getConfig(final LaunchMode mode) {
5152
if (classLoader.equals(Thread.currentThread().getContextClassLoader())) {
5253
resolver.releaseConfig(classLoader);
54+
LaunchMode current = LaunchMode.current();
55+
LaunchMode.set(mode);
5356
SmallRyeConfig config = configs.computeIfAbsent(mode, new Function<LaunchMode, SmallRyeConfig>() {
5457
@Override
5558
public SmallRyeConfig apply(final LaunchMode launchMode) {
5659
return ConfigUtils.configBuilder(false, true, mode)
57-
.withProfile(mode.getDefaultProfile())
60+
.withCustomizers(new SmallRyeConfigBuilderCustomizer() {
61+
@Override
62+
public void configBuilder(final SmallRyeConfigBuilder builder) {
63+
builder.withDefaultValue("quarkus.profile", launchMode.getDefaultProfile());
64+
}
65+
66+
@Override
67+
public int priority() {
68+
return Integer.MAX_VALUE;
69+
}
70+
})
5871
.withMapping(TestConfig.class, "quarkus.test")
5972
.build();
6073
}
6174
});
75+
LaunchMode.set(current);
6276
resolver.registerConfig(config, classLoader);
6377
return config;
6478
}

0 commit comments

Comments
 (0)