From ab5c7d655b108e3838200ed8918920f12792cb3e Mon Sep 17 00:00:00 2001 From: ioangut Date: Wed, 30 Sep 2020 17:43:35 +0300 Subject: [PATCH] Adjust submission payload validation checks --- .../validation/ValidSubmissionPayload.java | 19 +------------------ .../controller/PayloadValidationTest.java | 4 ++-- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/services/submission/src/main/java/app/coronawarn/server/services/submission/validation/ValidSubmissionPayload.java b/services/submission/src/main/java/app/coronawarn/server/services/submission/validation/ValidSubmissionPayload.java index 8af0679731..06209bcec0 100644 --- a/services/submission/src/main/java/app/coronawarn/server/services/submission/validation/ValidSubmissionPayload.java +++ b/services/submission/src/main/java/app/coronawarn/server/services/submission/validation/ValidSubmissionPayload.java @@ -92,8 +92,7 @@ public boolean isValid(SubmissionPayload submissionPayload, ConstraintValidatorC return checkStartIntervalNumberIsAtMidNight(exposureKeys, validatorContext); } else { return checkStartIntervalNumberIsAtMidNight(exposureKeys, validatorContext) - && checkKeyCollectionSize(exposureKeys, validatorContext) - && checkUniqueStartIntervalNumbers(exposureKeys, validatorContext); + && checkKeyCollectionSize(exposureKeys, validatorContext); } } @@ -111,22 +110,6 @@ private boolean checkKeyCollectionSize(List exposureKeys, return true; } - private boolean checkUniqueStartIntervalNumbers(List exposureKeys, - ConstraintValidatorContext validatorContext) { - Integer[] startIntervalNumbers = exposureKeys.stream() - .mapToInt(TemporaryExposureKey::getRollingStartIntervalNumber).boxed().toArray(Integer[]::new); - long distinctSize = Arrays.stream(startIntervalNumbers) - .distinct() - .count(); - - if (distinctSize < exposureKeys.size()) { - addViolation(validatorContext, String.format( - "Duplicate StartIntervalNumber found. StartIntervalNumbers: %s", startIntervalNumbers)); - return false; - } - return true; - } - private boolean keysHaveFlexibleRollingPeriod(List exposureKeys) { return exposureKeys.stream() .anyMatch(temporaryExposureKey -> temporaryExposureKey.getRollingPeriod() < maxRollingPeriod); diff --git a/services/submission/src/test/java/app/coronawarn/server/services/submission/controller/PayloadValidationTest.java b/services/submission/src/test/java/app/coronawarn/server/services/submission/controller/PayloadValidationTest.java index aa5a2818c2..79fd5a1e37 100644 --- a/services/submission/src/test/java/app/coronawarn/server/services/submission/controller/PayloadValidationTest.java +++ b/services/submission/src/test/java/app/coronawarn/server/services/submission/controller/PayloadValidationTest.java @@ -81,7 +81,7 @@ private Collection buildPayloadWithTooManyKeys() { } @Test - void check400ResponseStatusForKeysWithFixedRollingPeriodAndDuplicateStartIntervals() { + void check200ResponseStatusForKeysWithFixedRollingPeriodAndDuplicateStartIntervals() { int rollingStartIntervalNumber = createRollingStartIntervalNumber(2); var keysWithDuplicateStartIntervalNumber = Lists.list( buildTemporaryExposureKey(VALID_KEY_DATA_1, rollingStartIntervalNumber, 1), @@ -89,7 +89,7 @@ void check400ResponseStatusForKeysWithFixedRollingPeriodAndDuplicateStartInterva ResponseEntity actResponse = executor.executePost(keysWithDuplicateStartIntervalNumber); - assertThat(actResponse.getStatusCode()).isEqualTo(BAD_REQUEST); + assertThat(actResponse.getStatusCode()).isEqualTo(OK); } @Test