Skip to content

Commit 666e594

Browse files
committed
Refactor package tests to facilitate REGEN #116
- We now have a check_package function that can load a file and, in the future, regenerate the test file(s). Reference: #116 Signed-off-by: John M. Horan <johnmhoran@gmail.com>
1 parent 1f5ff88 commit 666e594

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

tests/test_package.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,18 @@ def load_json(file_name):
3636
return json.loads(data)
3737

3838

39-
def check_packages(packages, expected_data):
40-
data = [dict(p.to_dict()) for p in packages]
41-
expected_data_dict = dict(expected_data)
42-
expected_data = [dict(expected_data_dict[p]) for p in expected_data_dict]
43-
assert expected_data == data
39+
def check_packages(packages, expected_file, regen=REGEN):
40+
packages = [p.to_dict() for p in packages]
41+
expected_data = load_json(expected_file)
42+
expected_packages = list(expected_data.values())
43+
assert packages == expected_packages
4444

4545

4646
@mock.patch("fetchcode.package.get_response")
4747
def test_cargo_packages(mock_get):
4848
side_effect = [load_json("tests/data/cargo_mock_data.json")]
4949
purl = "pkg:cargo/rand"
50-
expected_data = load_json("tests/data/cargo.json")
50+
expected_data = "tests/data/cargo.json"
5151
mock_get.side_effect = side_effect
5252
packages = list(info(purl))
5353
check_packages(packages, expected_data)
@@ -57,7 +57,7 @@ def test_cargo_packages(mock_get):
5757
def test_npm_packages(mock_get):
5858
side_effect = [load_json("tests/data/npm_mock_data.json")]
5959
purl = "pkg:npm/express"
60-
expected_data = load_json("tests/data/npm.json")
60+
expected_data = "tests/data/npm.json"
6161
mock_get.side_effect = side_effect
6262
packages = list(info(purl))
6363
check_packages(packages, expected_data)
@@ -67,7 +67,7 @@ def test_npm_packages(mock_get):
6767
def test_pypi_packages(mock_get):
6868
side_effect = [load_json("tests/data/pypi_mock_data.json")]
6969
purl = "pkg:pypi/flask"
70-
expected_data = load_json("tests/data/pypi.json")
70+
expected_data = "tests/data/pypi.json"
7171
mock_get.side_effect = side_effect
7272
packages = list(info(purl))
7373
check_packages(packages, expected_data)
@@ -80,7 +80,7 @@ def test_bitbucket_packages(mock_get):
8080
load_json("tests/data/bitbucket_mock_release_data.json"),
8181
]
8282
purl = "pkg:bitbucket/litmis/python-itoolkit"
83-
expected_data = load_json("tests/data/bitbucket.json")
83+
expected_data = "tests/data/bitbucket.json"
8484
mock_get.side_effect = side_effect
8585
packages = list(info(purl))
8686
check_packages(packages, expected_data)
@@ -90,7 +90,7 @@ def test_bitbucket_packages(mock_get):
9090
def test_rubygems_packages(mock_get):
9191
side_effect = [load_json("tests/data/rubygems_mock_data.json")]
9292
purl = "pkg:rubygems/rubocop"
93-
expected_data = load_json("tests/data/rubygems.json")
93+
expected_data = "tests/data/rubygems.json"
9494
mock_get.side_effect = side_effect
9595
packages = list(info(purl))
9696
check_packages(packages, expected_data)

0 commit comments

Comments
 (0)