From 10ac6970edd63dc6dab880ce0a072fd62c20fb3e Mon Sep 17 00:00:00 2001 From: Steve Garon Date: Fri, 5 Jul 2024 19:48:26 +0000 Subject: [PATCH 1/2] Send files the same way for file handles and paths so retries can reset the seek values properly on retries --- assemblyline_client/v4_client/module/ingest.py | 2 +- assemblyline_client/v4_client/module/submit.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assemblyline_client/v4_client/module/ingest.py b/assemblyline_client/v4_client/module/ingest.py index dcf6b0b..b056744 100644 --- a/assemblyline_client/v4_client/module/ingest.py +++ b/assemblyline_client/v4_client/module/ingest.py @@ -46,7 +46,7 @@ def __call__(self, fh=None, path=None, content=None, url=None, sha256=None, fnam else: raise ClientError('Could not guess the file name, please provide an fname parameter', 400) fh.seek(0) - files = {'bin': (fname, fh)} + files = {'bin': fh} request = { 'name': fname, } diff --git a/assemblyline_client/v4_client/module/submit.py b/assemblyline_client/v4_client/module/submit.py index 00c0e16..a86037d 100644 --- a/assemblyline_client/v4_client/module/submit.py +++ b/assemblyline_client/v4_client/module/submit.py @@ -41,7 +41,7 @@ def __call__(self, fh=None, path=None, content=None, url=None, sha256=None, fnam else: raise ClientError('Could not guess the file name, please provide an fname parameter', 400) fh.seek(0) - files = {'bin': (fname, fh)} + files = {'bin': fh} request = { 'name': fname, } From 1c077cd9d7e2d0a23cffda8a11864dfe3a1ba115 Mon Sep 17 00:00:00 2001 From: Steve Garon Date: Fri, 5 Jul 2024 20:04:43 +0000 Subject: [PATCH 2/2] Fix tests --- test/test_submit.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/test_submit.py b/test/test_submit.py index f2e397f..ec7302d 100644 --- a/test/test_submit.py +++ b/test/test_submit.py @@ -104,9 +104,9 @@ def test_submit_dynamic(datastore, client): assert res['sid'] is not None assert res == datastore.submission.get(res['sid'], as_obj=False) assert 'Dynamic Analysis' in res['params']['services']['selected'] - for k in res['params']: + for k, v in submission_data['params'].items(): if k not in ['submitter', 'services', 'description', 'quota_item']: - assert res['params'][k] == submission_data['params'][k] + assert res['params'].get(k) == v def test_resubmit(datastore, client): @@ -117,6 +117,6 @@ def test_resubmit(datastore, client): assert res is not None assert res['sid'] is not None assert res == datastore.submission.get(res['sid'], as_obj=False) - for k in res['params']: + for k, v in submission_data['params'].items(): if k not in ['submitter', 'description', 'quota_item']: - assert res['params'][k] == submission_data['params'][k] + assert res['params'].get(k) == v