INNER CODE UNIT · Python
TestOneInput
cisco-open/forge · fuzz/job_log_archiver_metadata_fuzzer.py:72
def TestOneInput(data: bytes) -> None:
if len(data) > 8192:
return
try:
text = data.decode('utf-8')
payload = json.loads(text)
except (json.JSONDecodeError, RecursionError, UnicodeDecodeError):
return
if _too_deep_or_large(payload):
return
detail = payload if isinstance(payload, dict) else {'payload': payload}
fields = job_log_archiver._flatten_metadata_fields(detail)
assert len(fields) <= job_log_archiver.MAX_METADATA_FIELDS
assert all(isinstance(key, str) and key for key in fields)