我目前正面临Quarkus和Vault的问题。
当我启动JUnit测试时,Vault尝试启动,但失败了,因为Vault配置未设置为在本地运行。
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:912)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Caused by: java.lang.NullPointerException
at io.quarkus.vault.runtime.config.VaultConfigSource.getSecretConfig(VaultConfigSource.java:78)
at io.quarkus.vault.runtime.config.VaultConfigSource.getValue(VaultConfigSource.java:59)
我的问题是,有没有一种方法可以在Quarkus上的Junit测试期间禁用Vault,就像在SpringBoot上一样(使用属性)?或者创建可以在本地使用的Vault Mock?
谢谢大家。
1条答案
按热度按时间ddarikpa1#
您可以在所有Vault配置指令前加上“%prod.”前缀,并将从Vault检索的值注入测试配置文件的prod配置文件中。
在src/main/resources/application.properties
在src/test/resources/application.properties
希望这对你有帮助