diff --git a/swh/scanner/tests/conftest.py b/swh/scanner/tests/conftest.py --- a/swh/scanner/tests/conftest.py +++ b/swh/scanner/tests/conftest.py @@ -89,7 +89,7 @@ @pytest.fixture(scope="function") def example_tree(temp_folder): """Fixture that generate a Tree with the root present in the - session fixture "temp_folder". + session fixture "temp_folder". """ example_tree = Tree(temp_folder["root"]) assert example_tree.path == temp_folder["root"] @@ -113,9 +113,9 @@ for path, pid in temp_folder["paths"].items(): if path in known_paths: - example_tree.addNode(path, pid) + example_tree.addNode(path, pid, True) else: - example_tree.addNode(path) + example_tree.addNode(path, pid, False) return example_tree.getDirectoriesInfo(root) diff --git a/swh/scanner/tests/data.py b/swh/scanner/tests/data.py --- a/swh/scanner/tests/data.py +++ b/swh/scanner/tests/data.py @@ -10,9 +10,12 @@ } # present pids inside /data/sample-folder -present_pids = [ +present_swhids = [ "swh:1:cnt:7c4c57ba9ff496ad179b8f65b1d286edbda34c9a", # quotes.md "swh:1:cnt:68769579c3eaadbe555379b9c3538e6628bae1eb", # some-binary "swh:1:dir:9619a28687b2462efbb5be816bc1185b95753d93", # barfoo2/ "swh:1:dir:07d4d9ec5c406632d203dbd4631e7863612a0326", # toexclude/ ] + + +to_exclude_swhid = "swh:1:dir:07d4d9ec5c406632d203dbd4631e7863612a0326" diff --git a/swh/scanner/tests/data/sample-folder-result-no-toexclude.json b/swh/scanner/tests/data/sample-folder-result-no-toexclude.json deleted file mode 100644 --- a/swh/scanner/tests/data/sample-folder-result-no-toexclude.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "foo": { - "quotes.md": "swh:1:cnt:7c4c57ba9ff496ad179b8f65b1d286edbda34c9a" - }, - "bar": { - "barfoo2": "swh:1:dir:9619a28687b2462efbb5be816bc1185b95753d93" - }, - "link-to-foo": { - "quotes.md": "swh:1:cnt:7c4c57ba9ff496ad179b8f65b1d286edbda34c9a" - }, - "some-binary": "swh:1:cnt:68769579c3eaadbe555379b9c3538e6628bae1eb" -} diff --git a/swh/scanner/tests/data/sample-folder-result.json b/swh/scanner/tests/data/sample-folder-result.json deleted file mode 100644 --- a/swh/scanner/tests/data/sample-folder-result.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "foo": { - "quotes.md": "swh:1:cnt:7c4c57ba9ff496ad179b8f65b1d286edbda34c9a" - }, - "bar": { - "barfoo2": "swh:1:dir:9619a28687b2462efbb5be816bc1185b95753d93" - }, - "link-to-foo": { - "quotes.md": "swh:1:cnt:7c4c57ba9ff496ad179b8f65b1d286edbda34c9a" - }, - "toexclude": "swh:1:dir:07d4d9ec5c406632d203dbd4631e7863612a0326", - "some-binary": "swh:1:cnt:68769579c3eaadbe555379b9c3538e6628bae1eb" -} diff --git a/swh/scanner/tests/flask_api.py b/swh/scanner/tests/flask_api.py --- a/swh/scanner/tests/flask_api.py +++ b/swh/scanner/tests/flask_api.py @@ -5,7 +5,7 @@ from flask import Flask, request -from .data import present_pids +from .data import present_swhids from swh.web.common.exc import LargePayloadExc @@ -15,17 +15,17 @@ @app.route("/known/", methods=["POST"]) def known(): - pids = request.get_json() + swhids = request.get_json() - if len(pids) > 900: + if len(swhids) > 900: raise LargePayloadExc( "The maximum number of PIDs this endpoint " "can receive is 900" ) - res = {pid: {"known": False} for pid in pids} - for pid in pids: - if pid in present_pids: - res[pid]["known"] = True + res = {swhid: {"known": False} for swhid in swhids} + for swhid in swhids: + if swhid in present_swhids: + res[swhid]["known"] = True return res diff --git a/swh/scanner/tests/test_scanner.py b/swh/scanner/tests/test_scanner.py --- a/swh/scanner/tests/test_scanner.py +++ b/swh/scanner/tests/test_scanner.py @@ -7,7 +7,7 @@ import json from pathlib import PosixPath -from .data import correct_api_response +from .data import correct_api_response, present_swhids, to_exclude_swhid from swh.scanner.scanner import pids_discovery, get_subpaths, run from swh.scanner.model import Tree @@ -73,30 +73,24 @@ def test_scanner_result(live_server, event_loop, test_folder): api_url = live_server.url() + "/" - result_path = test_folder.joinpath(PosixPath("sample-folder-result.json")) - with open(result_path, "r") as json_file: - expected_result = json.loads(json_file.read()) - sample_folder = test_folder.joinpath(PosixPath("sample-folder")) source_tree = Tree(sample_folder) - event_loop.run_until_complete(run(sample_folder, api_url, source_tree, tuple())) - - actual_result = source_tree.getTree() + event_loop.run_until_complete(run(sample_folder, api_url, source_tree, set())) - assert actual_result == expected_result + for node_dict in source_tree.iterate(): + node_info = list(node_dict.values())[0] + if node_info["swhid"] in present_swhids: + assert node_info["known"] is True + else: + assert node_info["known"] is False def test_scanner_result_with_exclude_patterns(live_server, event_loop, test_folder): api_url = live_server.url() + "/" - result_path = test_folder.joinpath( - PosixPath("sample-folder-result-no-toexclude.json") - ) - with open(result_path, "r") as json_file: - expected_result = json.loads(json_file.read()) - sample_folder = test_folder.joinpath(PosixPath("sample-folder")) + patterns = (str(sample_folder) + "/toexclude",) exclude_pattern = { reg_obj for reg_obj in extract_regex_objs(sample_folder, patterns) @@ -107,6 +101,6 @@ run(sample_folder, api_url, source_tree, exclude_pattern) ) - actual_result = source_tree.getTree() - - assert actual_result == expected_result + for node_dict in source_tree.iterate(): + node_info = list(node_dict.values())[0] + assert node_info["swhid"] != to_exclude_swhid