mirror of
https://github.com/fabioformosa/quartz-manager.git
synced 2026-01-11 12:03:16 +09:00
#78 fixed some smells
This commit is contained in:
@@ -2,6 +2,8 @@ package it.fabioformosa.quartzmanager.api.common.config;
|
||||
|
||||
public class OpenAPIConfigConsts {
|
||||
|
||||
final static public String QUARTZ_MANAGER_SEC_OAS_SCHEMA = "quartz-manager-auth";
|
||||
private OpenAPIConfigConsts(){
|
||||
}
|
||||
public static final String QUARTZ_MANAGER_SEC_OAS_SCHEMA = "quartz-manager-auth";
|
||||
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.Date;
|
||||
class DateUtilsTest {
|
||||
|
||||
@Test
|
||||
public void givenALocaleDatetime_whenTheConversionIsCalled_shouldGetADate(){
|
||||
void givenALocaleDatetime_whenTheConversionIsCalled_shouldGetADate(){
|
||||
LocalDateTime originalLocalDateTime = LocalDateTime.now().truncatedTo(ChronoUnit.MILLIS);
|
||||
Date date = DateUtils.fromLocalDateTimeToDate(originalLocalDateTime);
|
||||
LocalDateTime convertedLocalDateTime = DateUtils.fromDateToLocalDateTime(date);
|
||||
|
||||
@@ -38,7 +38,7 @@ public class OpenApiConfig {
|
||||
@ConditionalOnProperty(name = "quartz-manager.oas.enabled")
|
||||
@Bean
|
||||
public GroupedOpenApi quartzManagerStoreOpenApi(@Autowired(required = false) @Qualifier("quartzManagerOpenApiCustomiser") Optional<OpenApiCustomiser> openApiCustomiser) {
|
||||
String paths[] = {QuartzManagerPaths.QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/**"};
|
||||
String[] paths = {QuartzManagerPaths.QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/**"};
|
||||
GroupedOpenApi.Builder groupedOpenApiBuilder = GroupedOpenApi.builder().group("quartz-manager").pathsToMatch(paths);
|
||||
openApiCustomiser.ifPresent(oaCustomizer -> groupedOpenApiBuilder.addOpenApiCustomiser(oaCustomizer));
|
||||
return groupedOpenApiBuilder.build();
|
||||
|
||||
@@ -46,7 +46,8 @@ public class SchedulerConfig {
|
||||
}
|
||||
|
||||
@Bean(name = "quartzManagerScheduler")
|
||||
public SchedulerFactoryBean schedulerFactoryBean(@Qualifier("quartzJobFactory") JobFactory jobFactory, @Autowired(required = false) @Qualifier("ManagedQuartzProperties") Properties quartzProperties) throws IOException {
|
||||
public SchedulerFactoryBean schedulerFactoryBean(@Qualifier("quartzJobFactory") JobFactory jobFactory,
|
||||
@Autowired(required = false) @Qualifier("ManagedQuartzProperties") Properties quartzProperties) {
|
||||
SchedulerFactoryBean factory = new SchedulerFactoryBean();
|
||||
factory.setJobFactory(jobFactory);
|
||||
Properties mergedProperties = new Properties();
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.stream.Collectors;
|
||||
@SecurityRequirement(name = OpenAPIConfigConsts.QUARTZ_MANAGER_SEC_OAS_SCHEMA)
|
||||
@RestController
|
||||
public class JobController {
|
||||
final private JobService jobService;
|
||||
private final JobService jobService;
|
||||
|
||||
public JobController(JobService jobService) {
|
||||
this.jobService = jobService;
|
||||
@@ -30,10 +30,10 @@ public class JobController {
|
||||
@Operation(summary = "Get the list of job classes eligible for Quartz-Manager")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = "200", description = "Return a list of qualified java classes",
|
||||
content = { @Content(mediaType = "application/json",
|
||||
schema = @Schema(implementation = String.class)) })
|
||||
content = {@Content(mediaType = "application/json",
|
||||
schema = @Schema(implementation = String.class))})
|
||||
})
|
||||
public List<String> listJobs(){
|
||||
public List<String> listJobs() {
|
||||
return jobService.getJobClasses().stream().map(Class::getName).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
@@ -31,9 +31,9 @@ import static it.fabioformosa.quartzmanager.api.common.config.QuartzManagerPaths
|
||||
@RequestMapping(SchedulerController.SCHEDULER_CONTROLLER_BASE_URL)
|
||||
public class SchedulerController {
|
||||
|
||||
static protected final String SCHEDULER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/scheduler";
|
||||
protected static final String SCHEDULER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/scheduler";
|
||||
|
||||
final private SchedulerService schedulerService;
|
||||
private final SchedulerService schedulerService;
|
||||
|
||||
public SchedulerController(SchedulerService schedulerService) {
|
||||
this.schedulerService = schedulerService;
|
||||
|
||||
@@ -27,9 +27,9 @@ import javax.validation.Valid;
|
||||
@RestController
|
||||
public class SimpleTriggerController {
|
||||
|
||||
static protected final String SIMPLE_TRIGGER_CONTROLLER_BASE_URL = QuartzManagerPaths.QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/simple-triggers";
|
||||
protected static final String SIMPLE_TRIGGER_CONTROLLER_BASE_URL = QuartzManagerPaths.QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/simple-triggers";
|
||||
|
||||
final private SimpleTriggerService simpleSchedulerService;
|
||||
private final SimpleTriggerService simpleSchedulerService;
|
||||
|
||||
public SimpleTriggerController(SimpleTriggerService simpleSchedulerService) {
|
||||
this.simpleSchedulerService = simpleSchedulerService;
|
||||
|
||||
@@ -25,9 +25,9 @@ import static it.fabioformosa.quartzmanager.api.common.config.QuartzManagerPaths
|
||||
@RestController
|
||||
public class TriggerController {
|
||||
|
||||
static protected final String TRIGGER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/triggers";
|
||||
protected static final String TRIGGER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/triggers";
|
||||
|
||||
final private TriggerService triggerService;
|
||||
private final TriggerService triggerService;
|
||||
|
||||
public TriggerController(TriggerService triggerService) {
|
||||
this.triggerService = triggerService;
|
||||
|
||||
@@ -18,7 +18,7 @@ public class ExceptionHandlingController {
|
||||
ExceptionResponse response = new ExceptionResponse();
|
||||
response.setErrorCode("Conflict");
|
||||
response.setErrorMessage(ex.getMessage());
|
||||
return new ResponseEntity<ExceptionResponse>(response, HttpStatus.CONFLICT);
|
||||
return new ResponseEntity<>(response, HttpStatus.CONFLICT);
|
||||
}
|
||||
|
||||
@ExceptionHandler(TriggerNotFoundException.class)
|
||||
|
||||
@@ -18,7 +18,7 @@ public enum MisfireInstruction {
|
||||
this.num = num;
|
||||
}
|
||||
|
||||
static public MisfireInstruction parseInt(int num) {
|
||||
public static MisfireInstruction parseInt(int num) {
|
||||
return Arrays.stream(MisfireInstruction.values())
|
||||
.filter(misfireInstruction -> misfireInstruction.getNum() == num)
|
||||
.findFirst().orElseThrow(() -> new IllegalArgumentException(num + " is not a valid misfire instruction code!"));
|
||||
|
||||
@@ -8,7 +8,7 @@ public class ResourceConflictException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = 1791564636123821405L;
|
||||
|
||||
private Long resourceId;
|
||||
private final Long resourceId;
|
||||
|
||||
public ResourceConflictException(Long resourceId, String message) {
|
||||
super(message);
|
||||
|
||||
@@ -22,10 +22,10 @@ public abstract class AbstractQuartzManagerJob implements Job {
|
||||
private static final Logger log = LoggerFactory.getLogger(AbstractQuartzManagerJob.class);
|
||||
|
||||
@Resource
|
||||
private WebhookSender webSocketProgressNotifier;
|
||||
private WebhookSender<TriggerFiredBundleDTO> webSocketProgressNotifier;
|
||||
|
||||
@Resource
|
||||
private WebhookSender webSocketLogsNotifier;
|
||||
private WebhookSender<LogRecord> webSocketLogsNotifier;
|
||||
|
||||
/**
|
||||
* @param jobExecutionContext
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.springframework.scheduling.quartz.SpringBeanJobFactory;
|
||||
public final class AutowiringSpringBeanJobFactory extends SpringBeanJobFactory
|
||||
implements ApplicationContextAware {
|
||||
|
||||
private transient AutowireCapableBeanFactory beanFactory;
|
||||
private AutowireCapableBeanFactory beanFactory;
|
||||
|
||||
@Override
|
||||
protected Object createJobInstance(final TriggerFiredBundle bundle)
|
||||
|
||||
@@ -27,14 +27,14 @@ public class JobService {
|
||||
.map(String::trim)
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.collect(Collectors.toList());
|
||||
if (splitPackages.size() > 0)
|
||||
if (!splitPackages.isEmpty())
|
||||
this.jobClassPackages.addAll(splitPackages);
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
public void initJobClassList() {
|
||||
List<Class<? extends AbstractQuartzManagerJob>> foundJobClasses = jobClassPackages.stream().flatMap(jobClassPackage -> findJobClassesInPackage(jobClassPackage).stream()).collect(Collectors.toList());
|
||||
if (foundJobClasses.size() > 0) {
|
||||
if (!foundJobClasses.isEmpty()) {
|
||||
log.info("Found the following eligible job classes: {}", foundJobClasses);
|
||||
this.jobClasses.addAll(foundJobClasses);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ class JobServiceTest {
|
||||
JobService jobService = new JobService("it.fabioformosa.quartzmanager.api.jobs, it.fabioformosa.samplepackage");
|
||||
jobService.initJobClassList();
|
||||
Assertions.assertThat(jobService).isNotNull();
|
||||
Assertions.assertThat(jobService.getJobClasses().size()).isEqualTo(2);
|
||||
Assertions.assertThat(jobService.getJobClasses()).hasSize(2);
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@@ -26,7 +26,7 @@ class JobServiceTest {
|
||||
JobService jobService = new JobService(packageStr);
|
||||
jobService.initJobClassList();
|
||||
Assertions.assertThat(jobService).isNotNull();
|
||||
Assertions.assertThat(jobService.getJobClasses().size()).isEqualTo(1);
|
||||
Assertions.assertThat(jobService.getJobClasses()).hasSize(1);
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
|
||||
@@ -52,7 +52,7 @@ class SimpleTriggerServiceIntegrationTest {
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatCount()).isEqualTo(repeatCount);
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatInterval()).isEqualTo(repeatInterval);
|
||||
Assertions.assertThat(simpleTriggerDTO.getMisfireInstruction()).isEqualTo(misfireInstructionFireNow.getNum());
|
||||
Assertions.assertThat(simpleTriggerDTO.getTimesTriggered()).isEqualTo(0);
|
||||
Assertions.assertThat(simpleTriggerDTO.getTimesTriggered()).isZero();
|
||||
Assertions.assertThat(simpleTriggerDTO.getFinalFireTime()).isEqualTo(DateUtils.fromLocalDateTimeToDate(expectedFinalDateTime));
|
||||
Assertions.assertThat(simpleTriggerDTO.getNextFireTime()).isEqualTo(startDate);
|
||||
Assertions.assertThat(simpleTriggerDTO.getJobKeyDTO().getName()).isNotNull();
|
||||
@@ -72,13 +72,13 @@ class SimpleTriggerServiceIntegrationTest {
|
||||
SimpleTriggerDTO simpleTriggerDTO = simpleTriggerService.scheduleSimpleTrigger(simpleTriggerCommand);
|
||||
|
||||
Assertions.assertThat(simpleTriggerDTO.getTriggerKeyDTO().getName()).isEqualTo(simpleTriggerTestName);
|
||||
Assertions.assertThat(simpleTriggerDTO.getTimesTriggered()).isEqualTo(0);
|
||||
Assertions.assertThat(simpleTriggerDTO.getTimesTriggered()).isZero();
|
||||
Assertions.assertThat(simpleTriggerDTO.getJobKeyDTO().getName()).isNotNull();
|
||||
Assertions.assertThat(simpleTriggerDTO.getStartTime()).isNotNull();
|
||||
Assertions.assertThat(simpleTriggerDTO.getEndTime()).isNull();
|
||||
Assertions.assertThat(simpleTriggerDTO.getFinalFireTime()).isNotNull();
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatCount()).isEqualTo(0);
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatInterval()).isEqualTo(0);
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatCount()).isZero();
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatInterval()).isZero();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ class ValidRepetitionValidatorTest {
|
||||
private ValidRepetitionValidator validRepetitionValidator = new ValidRepetitionValidator();
|
||||
|
||||
@Test
|
||||
public void givenACountAndIntervalSet_whenTheValidatorIsCalled_shouldReturnValid() {
|
||||
void givenACountAndIntervalSet_whenTheValidatorIsCalled_shouldReturnValid() {
|
||||
TriggerRepetitionDTO repetitionDTO = new SimpleTriggerInputDTO();
|
||||
repetitionDTO.setRepeatCount(10);
|
||||
repetitionDTO.setRepeatInterval(1000L);
|
||||
@@ -22,7 +22,7 @@ class ValidRepetitionValidatorTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenACountAndIntervalUnSet_whenTheValidatorIsCalled_shouldReturnInValid() {
|
||||
void givenACountAndIntervalUnSet_whenTheValidatorIsCalled_shouldReturnInValid() {
|
||||
TriggerRepetitionDTO repetitionDTO = new SimpleTriggerInputDTO();
|
||||
boolean valid = validRepetitionValidator.isValid(repetitionDTO, null);
|
||||
Assertions.assertThat(valid).isTrue();
|
||||
@@ -30,7 +30,7 @@ class ValidRepetitionValidatorTest {
|
||||
|
||||
@ParameterizedTest
|
||||
@CsvSource({"10, ", ",1000"})
|
||||
public void givenACountAndIntervalNotSet_whenTheValidatorIsCalled_shouldReturnInValid(String repeatCountStr, String repeatIntervalStr) {
|
||||
void givenACountAndIntervalNotSet_whenTheValidatorIsCalled_shouldReturnInValid(String repeatCountStr, String repeatIntervalStr) {
|
||||
Integer repeatCount = null;
|
||||
if (StringUtils.isNotBlank(repeatCountStr))
|
||||
repeatCount = Integer.valueOf(repeatCountStr);
|
||||
|
||||
@@ -30,7 +30,7 @@ public class SecurityOpenApiConfig {
|
||||
@Bean("quartzManagerOpenApiCustomiser")
|
||||
public OpenApiCustomiser configureQuartzManagerOpenAPI(JwtSecurityProperties jwtSecurityProps) {
|
||||
return openAPI -> {
|
||||
if (jwtSecurityProps.getCookieStrategy().isEnabled() == false)
|
||||
if (!jwtSecurityProps.getCookieStrategy().isEnabled())
|
||||
openAPI
|
||||
.components(new Components().addSecuritySchemes(OpenAPIConfigConsts.QUARTZ_MANAGER_SEC_OAS_SCHEMA, buildBasicAuthScheme()));
|
||||
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
package it.fabioformosa.quartzmanager.api.security.helpers.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.springframework.security.authentication.AuthenticationManager;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.web.WebAttributes;
|
||||
@@ -14,6 +7,10 @@ import org.springframework.security.web.authentication.AuthenticationSuccessHand
|
||||
import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler;
|
||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
public class AjaxAuthenticationFilter extends UsernamePasswordAuthenticationFilter {
|
||||
|
||||
public class AjaxLoginAuthSuccessHandler extends SimpleUrlAuthenticationSuccessHandler
|
||||
@@ -21,10 +18,9 @@ public class AjaxAuthenticationFilter extends UsernamePasswordAuthenticationFilt
|
||||
|
||||
@Override
|
||||
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
|
||||
Authentication authentication) throws IOException, ServletException {
|
||||
Authentication authentication) {
|
||||
response.setStatus(HttpServletResponse.SC_OK);
|
||||
clearAuthenticationAttributes(request);
|
||||
return;
|
||||
super.clearAuthenticationAttributes(request);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,10 +15,8 @@ public class AnonAuthentication extends AbstractAuthenticationToken {
|
||||
return true;
|
||||
if ( obj == null )
|
||||
return false;
|
||||
if ( getClass() != obj.getClass() )
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
return getClass() == obj.getClass();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getCredentials() {
|
||||
@@ -32,8 +30,7 @@ public class AnonAuthentication extends AbstractAuthenticationToken {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 7;
|
||||
return hash;
|
||||
return 7;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,20 +1,7 @@
|
||||
package it.fabioformosa.quartzmanager.api.security.helpers.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.security.core.AuthenticationException;
|
||||
import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler;
|
||||
|
||||
public class AuthenticationFailureHandler extends SimpleUrlAuthenticationFailureHandler {
|
||||
|
||||
@Override
|
||||
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
|
||||
AuthenticationException exception) throws IOException, ServletException {
|
||||
|
||||
super.onAuthenticationFailure(request, response, exception);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,8 +67,7 @@ public class FormLoginConfig implements LoginConfigurer {
|
||||
login = login.failureHandler(authenticationFailureHandler);
|
||||
}
|
||||
|
||||
HttpSecurity httpSecurity = login.and();
|
||||
return httpSecurity;
|
||||
return login.and();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ public class JwtTokenAuthenticationFilter extends OncePerRequestFilter {
|
||||
private static final String LOGIN_MATCHER = "/api/login";
|
||||
private static final String LOGOUT_MATCHER = "/api/logout";
|
||||
|
||||
private final static List<String> PATH_TO_SKIP = Arrays.asList(
|
||||
private static final List<String> PATH_TO_SKIP = Arrays.asList(
|
||||
ROOT_MATCHER,
|
||||
HTML_MATCHER,
|
||||
FAVICON_MATCHER,
|
||||
@@ -92,7 +92,7 @@ public class JwtTokenAuthenticationFilter extends OncePerRequestFilter {
|
||||
private boolean skipPathRequest(HttpServletRequest request, List<String> pathsToSkip ) {
|
||||
if(pathsToSkip == null)
|
||||
pathsToSkip = new ArrayList<>();
|
||||
List<RequestMatcher> matchers = pathsToSkip.stream().map(path -> new AntPathRequestMatcher(path)).collect(Collectors.toList());
|
||||
List<RequestMatcher> matchers = pathsToSkip.stream().map(AntPathRequestMatcher::new).collect(Collectors.toList());
|
||||
OrRequestMatcher compositeMatchers = new OrRequestMatcher(matchers);
|
||||
return compositeMatchers.matches(request);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package it.fabioformosa.quartzmanager.api.security.helpers.impl;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.security.authentication.AbstractAuthenticationToken;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class JwtTokenBasedAuthentication extends AbstractAuthenticationToken {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -26,10 +28,6 @@ public class JwtTokenBasedAuthentication extends AbstractAuthenticationToken {
|
||||
return principle;
|
||||
}
|
||||
|
||||
public String getToken() {
|
||||
return token;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAuthenticated() {
|
||||
return true;
|
||||
|
||||
@@ -26,7 +26,7 @@ public class JwtUsernamePasswordFiterLoginConfig implements LoginConfigurer {
|
||||
this.jwtAuthenticationSuccessHandler = jwtAuthenticationSuccessHandler;
|
||||
}
|
||||
|
||||
public GenericFilterBean authenticationProcessingFilter(String loginPath, AuthenticationManager authenticationManager) throws Exception {
|
||||
public GenericFilterBean authenticationProcessingFilter(String loginPath, AuthenticationManager authenticationManager) {
|
||||
JwtAuthenticationFilter authenticationProcessingFilter = new JwtAuthenticationFilter(authenticationManager, jwtAuthenticationSuccessHandler);
|
||||
authenticationProcessingFilter.setRequiresAuthenticationRequestMatcher(new RegexRequestMatcher(loginPath, HttpMethod.POST.name(), false));
|
||||
return authenticationProcessingFilter;
|
||||
|
||||
@@ -54,7 +54,7 @@ public class InMemoryUsersValidationControllerTest {
|
||||
Assertions.assertThat(result.isBound()).isTrue();
|
||||
|
||||
InMemoryAccountProperties inMemoryAccountProperties = result.get();
|
||||
Assertions.assertThat(propertyValidator.validate(inMemoryAccountProperties).size()).isGreaterThan(0);
|
||||
Assertions.assertThat(propertyValidator.validate(inMemoryAccountProperties).size()).isPositive();
|
||||
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ public class InMemoryUsersValidationControllerTest {
|
||||
Assertions.assertThat(result.isBound()).isTrue();
|
||||
|
||||
InMemoryAccountProperties inMemoryAccountProperties = result.get();
|
||||
Assertions.assertThat(propertyValidator.validate(inMemoryAccountProperties).size()).isEqualTo(0);
|
||||
Assertions.assertThat(propertyValidator.validate(inMemoryAccountProperties).size()).isZero();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user