Skip to content

Commit 4c45e6e

Browse files
author
Dan Hertz
committed
fix tests and add request metadata
1 parent 3962ee4 commit 4c45e6e

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

nightfall/api.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def _scan_text_v3(self, data: dict):
119119
def scan_file(self, location: str, webhook_url: Optional[str] = None, policy_uuid: Optional[str] = None,
120120
detection_rules: Optional[List[DetectionRule]] = None,
121121
detection_rule_uuids: Optional[List[str]] = None,
122-
request_metadata: Optional[Dict[str, str]] = None) -> Tuple[str, str]:
122+
request_metadata: Optional[str] = None) -> Tuple[str, str]:
123123
"""Scan file with Nightfall.
124124
At least one of policy_uuid, detection_rule_uuids or detection_rules is required.
125125
@@ -131,6 +131,8 @@ def scan_file(self, location: str, webhook_url: Optional[str] = None, policy_uui
131131
:type detection_rules: List[DetectionRule] or None
132132
:param detection_rule_uuids: list of detection rule UUIDs.
133133
:type detection_rule_uuids: List[str] or None
134+
:param request_metadata: additional metadata that will be returned with the webhook response
135+
:type request_metadata: str or None
134136
:returns: (scan_id, message)
135137
"""
136138

@@ -201,8 +203,7 @@ def _file_scan_finalize(self, session_id: str):
201203

202204
def _file_scan_scan(self, session_id: str, detection_rules: Optional[List[DetectionRule]] = None,
203205
detection_rule_uuids: Optional[List[str]] = None, webhook_url: Optional[str] = None,
204-
policy_uuid: Optional[str] = None, request_metadata: Optional[Dict[str, str]] = None) \
205-
-> requests.Response:
206+
policy_uuid: Optional[str] = None, request_metadata: Optional[str] = None) -> requests.Response:
206207
if policy_uuid:
207208
data = {"policyUUID": policy_uuid}
208209
else:

tests/test_api.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -263,20 +263,19 @@ def test_scan_file(tmpdir):
263263
responses.add(responses.POST, 'https://api.nightfall.ai/v3/upload/1/scan', status=200,
264264
json={"id": 1, "message": "scan_started"})
265265

266-
id, message = nightfall.scan_file(file, "https://my-website.example/callback", detection_rule_uuids=["a_uuid"])
266+
id, message = nightfall.scan_file(file, "https://my-website.example/callback", detection_rule_uuids=["a_uuid"], request_metadata="some test data")
267267

268268
assert len(responses.calls) == 5
269269
for call in responses.calls:
270270
assert call.request.headers.get("Authorization") == "Bearer NF-NOT_REAL"
271271

272272
assert responses.calls[0].request.body == '{"fileSizeBytes": 44}'
273-
assert responses.calls[1].request.body == "4916-6734-7572-5015 is"
273+
assert responses.calls[1].request.body == b"4916-6734-7572-5015 is"
274274
assert responses.calls[1].request.headers.get("X-UPLOAD-OFFSET") == '0'
275-
assert responses.calls[2].request.body == " my credit card number"
275+
assert responses.calls[2].request.body == b" my credit card number"
276276
assert responses.calls[2].request.headers.get("X-UPLOAD-OFFSET") == '22'
277277
assert responses.calls[4].request.body == '{"policy": {"webhookURL": "https://my-website.example/callback", ' \
278-
'"detectionRuleUUIDs": ["a_uuid"]}}'
279-
278+
'"detectionRuleUUIDs": ["a_uuid"]}, "requestMetadata": "some test data"}'
280279
assert id == 1
281280
assert message == "scan_started"
282281

0 commit comments

Comments
 (0)