mirror of
https://github.com/fabioformosa/quartz-manager.git
synced 2025-12-30 14:13:16 +09:00
#37 added input validation to the trigger rescheduling
This commit is contained in:
@@ -44,7 +44,7 @@ public class TriggerController {
|
||||
}
|
||||
|
||||
@PutMapping("/{name}")
|
||||
public TriggerDTO rescheduleTrigger(@PathVariable String name, @RequestBody SchedulerConfigParam config) throws SchedulerException {
|
||||
public TriggerDTO rescheduleTrigger(@PathVariable String name, @Valid @RequestBody SchedulerConfigParam config) throws SchedulerException {
|
||||
log.info("TRIGGER - RESCHEDULING the trigger {} {}", name, config);
|
||||
TriggerDTO triggerDTO = schedulerService.rescheduleTrigger(name, config);
|
||||
log.info("TRIGGER - RESCHEDULED the trigger {}", triggerDTO);
|
||||
|
||||
@@ -57,7 +57,7 @@ class TriggerControllerTest {
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(InvalidSchedulerConfigParamProvider.class)
|
||||
void givenAnInvalidSchedulerConfigParam_whenPosted_thenAnErrorIsReturned(SchedulerConfigParam invalidSchedulerConfigParam) throws Exception {
|
||||
void givenAnInvalidSchedulerConfigParam_whenRequestedANewTrigger_thenAnErrorIsReturned(SchedulerConfigParam invalidSchedulerConfigParam) throws Exception {
|
||||
mockMvc.perform(post(TriggerController.TRIGGER_CONTROLLER_BASE_URL + "/mytrigger")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(TestUtils.toJson(invalidSchedulerConfigParam)))
|
||||
@@ -87,6 +87,15 @@ class TriggerControllerTest {
|
||||
.andExpect(MockMvcResultMatchers.content().json(TestUtils.toJson(expectedTriggerDTO)));
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(InvalidSchedulerConfigParamProvider.class)
|
||||
void givenAnInvalidSchedulerConfigParam_whenATriggerIsRescheduled_thenAnErrorIsReturned(SchedulerConfigParam invalidSchedulerConfigParam) throws Exception {
|
||||
mockMvc.perform(put(TriggerController.TRIGGER_CONTROLLER_BASE_URL + "/mytrigger")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(TestUtils.toJson(invalidSchedulerConfigParam)))
|
||||
.andExpect(MockMvcResultMatchers.status().is4xxClientError());
|
||||
}
|
||||
|
||||
private SchedulerConfigParam buildSimpleSchedulerConfigParam() {
|
||||
return SchedulerConfigParam.builder().maxCount(20).triggerPerDay(20000L).build();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user