private String id;
@NotNull(message = "Workflow name may not be null")
- @Size(min = 6, max = 30, message = "The field must be at least 6 characters, and less than 30 characters")
- @Pattern(regexp = "[A-Za-z0-9_]*", message = "The field must contain only letters, digits and underscores")
+ @Size(max = 80, message = "Workflow name must be less than 80 characters")
+ @Pattern(regexp = "[A-Za-z0-9_]*", message = "Workflow name must contain only letters, digits and underscores")
private String name;
private String description;
private Set<WorkflowVersionState> versionStates;
verify(workflowManagerMock).create(reqWorkflow);
}
+ @Test
+ public void shouldThrowExceptionWhenWorkflowNameInvalid() throws Exception {
+
+ Workflow reqWorkflow = new Workflow();
+ reqWorkflow.setName("Invalid workflow name %");
+ MockHttpServletResponse response = mockMvc.perform(
+ post(RestPath.getWorkflowsPath()).header(USER_ID_HEADER_PARAM, USER_ID).contentType(APPLICATION_JSON)
+ .content(GSON.toJson(reqWorkflow))).andDo(print())
+ .andExpect(status().isBadRequest()).andReturn().getResponse();
+ assertEquals("Workflow name must contain only letters, digits and underscores", response.getContentAsString());
+ }
+
private List<Workflow> createWorkflows(int numOfWorkflows) {
List<Workflow> workflowList = new ArrayList<>(numOfWorkflows);
for (int i = 0; i < numOfWorkflows; i++) {