18 lines
1.1 KiB
Python
18 lines
1.1 KiB
Python
"""Harmless EICAR anti-malware test and blocked download/quote regressions."""
|
|
from uuid import uuid4
|
|
from tests.smoke_test import Client, upload_bytes, item_spec
|
|
|
|
def run():
|
|
customer=Client();customer.call('/session')
|
|
# Standard antivirus test string, not executable malware.
|
|
marker=b'X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
|
|
uid=upload_bytes(customer,marker,name='SECURITY-EICAR.cdr',expected_scan='rejected')
|
|
customer.call('/operator/uploads/'+uid+'/download',operator=True,expected=409)
|
|
customer.call('/quotes',{'request_key':str(uuid4()),'customer':{'cnpj':'11222333000181','zap':'11999999999','mail':'security@example.test'},
|
|
'items':[item_spec('file','1',0,uid)],'freight':{'service':'pickup'}},expected=409)
|
|
clean=upload_bytes(customer,b'Harmless local artwork fixture',name='SECURITY-CLEAN.cdr')
|
|
customer.call('/operator/uploads/'+clean+'/download',operator=True)
|
|
print('PASS: real ClamAV detects EICAR; rejected artwork cannot be downloaded or quoted; clean artwork is released.')
|
|
|
|
if __name__=='__main__':run()
|