I have a @Conditional bean -
@RestController("/user")
@ConditionalOnProperty(prefix = "user-controller", name = "enabled", havingValue = "true")
public void UserController {
@GetMapping
public String greetings() {
return "Hello User";
}
}
it can be either enabled or disabled. I want to create a test to cover both use cases. How can I do that? I just have one application.properties file:
user-controller.enabled=true
I can inject the property into bean and add a setter to manage it via code, but that solution is not elegant:
@RestController("/user")
@ConditionalOnProperty(prefix = "user-controller", name = "enabled", havingValue = "true")
public void UserController {
@Value("${user-controller.enabled}")
private boolean enabled;
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
@GetMapping
public String greetings() {
return enabled ? "Hello User" : "Endpoint is disabled";
}
}
smth like this