diff --git a/tests/test_code_report.py b/tests/test_code_report.py index 34f1a8e0..cc76cb67 100644 --- a/tests/test_code_report.py +++ b/tests/test_code_report.py @@ -161,7 +161,7 @@ def finalize(self) -> str: ], "originalUriBaseIds": { "ROOTPATH": { - "uri": "my_path" + "uri": "file:///my_path" } } } diff --git a/universum/modules/code_report_collector.py b/universum/modules/code_report_collector.py index e2ebd49f..7de3ce1c 100644 --- a/universum/modules/code_report_collector.py +++ b/universum/modules/code_report_collector.py @@ -68,14 +68,14 @@ def _process_one_sarif_issue(self, issue, root_uri_base_paths, who) -> None: uri = artifact_data.get('uri') if not uri: raise ValueError("Unexpected lack of uri tag") - path = urllib.parse.unquote(urllib.parse.urlparse(uri).path) if artifact_data.get('uriBaseId'): # means path is relative, need to make absolute uri_base_id = artifact_data.get('uriBaseId', '') root_base_path = root_uri_base_paths.get(uri_base_id, '') if uri_base_id and not root_base_path: raise ValueError(f"Unexpected lack of 'originalUriBaseIds' value for {uri_base_id}") - path = str(Path(root_base_path) / path) + uri = str(Path(root_base_path) / uri) + path = urllib.parse.unquote(urllib.parse.urlparse(uri).path) region_data = location_data.get('region') if not region_data: continue # TODO: cover this case as comment to the file as a whole