Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class EpochTimeValidator implements ConstraintValidator<EpochTime, Long> {
- @Override
- public void initialize(EpochTime constraintAnnotation) {
- }
- @Override
- public boolean isValid(Long time, ConstraintValidatorContext constraintValidatorContext) {
- long nowInEpochTime = LocalDateTime.now(ZoneOffset.UTC).toEpochSecond(ZoneOffset.ofHours(0));
- return time != null && time >= 0 && time <= nowInEpochTime;
- }
- }
- public class EpochTimeValidatorTest {
- private final ConstraintValidator<EpochTime, Long> constraintValidator = new EpochTimeValidator();
- @Test
- public void shouldBeValid() {
- // when
- long time = LocalDateTime.now(ZoneOffset.UTC).toEpochSecond(ZoneOffset.ofHours(0));
- boolean isValid = constraintValidator.isValid(time, null);
- // then
- assertEquals(isValid, true);
- }
- @Test
- public void shouldBeInvalidWhenTimeIsInTheFuture() {
- // when
- long time = LocalDateTime.now(ZoneOffset.UTC).plusSeconds(1).toEpochSecond(ZoneOffset.ofHours(0));
- boolean isValid = constraintValidator.isValid(time, null);
- // then
- assertEquals(isValid, false);
- }
- @Test
- public void shouldBeInvalidWhenTimeIsNegative() {
- // when
- long time = -100;
- boolean isValid = constraintValidator.isValid(time, null);
- // then
- assertEquals(isValid, false);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment