diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/TriggerController.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/TriggerController.java index d2ea4f1..03583ce 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/TriggerController.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/TriggerController.java @@ -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); diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/test/java/it/fabioformosa/quartzmanager/controllers/TriggerControllerTest.java b/quartz-manager-parent/quartz-manager-starter-api/src/test/java/it/fabioformosa/quartzmanager/controllers/TriggerControllerTest.java index c0e33ec..85ec109 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/test/java/it/fabioformosa/quartzmanager/controllers/TriggerControllerTest.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/test/java/it/fabioformosa/quartzmanager/controllers/TriggerControllerTest.java @@ -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(); }