Summary of What Needs to be Done:
Add unit tests for the _check_field helper function in backend/secuscan/validation.py. This private function validates individual input field values (strings and lists) against length limits. It is the core of the validate_task_start_payload function and has distinct logic paths for string vs list values.
Changes that Need to be Made:
- Add a new file
testing/backend/unit/test_validation_check_field.py
- Import
_check_field and settings from backend.secuscan.validation
- For string values:
- Test string at exactly max length passes
- Test string exceeding max length returns 400 with appropriate message
- Test string well under limit passes
- For list values:
- Test list at exactly max array length passes
- Test list exceeding max array length returns 400
- Test list with items exceeding max field length returns 400
- Test list with all items within limits passes
- For non-string/non-list values:
- Test returns (True, 0, '') for unexpected types (pass-through)
- Test that error messages do not echo back field values
- Test with edge case: empty string ("") passes
- Test with edge case: empty list ([]) passes
Impact that it would Provide:
- Provides granular coverage for the field-level validation logic
- Ensures string length and array length limits are enforced correctly
- Guards against regression as settings limits are adjusted
Note: This task is being handled by tmdeveloper007 — please assign to that account when picking it up.
Summary of What Needs to be Done:
Add unit tests for the
_check_fieldhelper function inbackend/secuscan/validation.py. This private function validates individual input field values (strings and lists) against length limits. It is the core of thevalidate_task_start_payloadfunction and has distinct logic paths for string vs list values.Changes that Need to be Made:
testing/backend/unit/test_validation_check_field.py_check_fieldandsettingsfrombackend.secuscan.validationImpact that it would Provide:
Note: This task is being handled by tmdeveloper007 — please assign to that account when picking it up.