Skip to content

Commit 40862fe

Browse files
committed
Update dependency JSON ordering #447
* Update test expectations Signed-off-by: Jono Yang <[email protected]>
1 parent 984a0a8 commit 40862fe

5 files changed

+39
-34
lines changed

scanpipe/pipes/output.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,11 @@ def get_dependencies(self, project):
189189
project.discovereddependencys.all()
190190
.prefetch_related("for_package", "datafile_resource")
191191
.order_by(
192-
"dependency_uid",
192+
"type",
193+
"namespace",
194+
"name",
195+
"version",
196+
"datasource_id",
193197
)
194198
)
195199

scanpipe/tests/data/asgiref-3.3.0_load_inventory_expected.json

+18-18
Original file line numberDiff line numberDiff line change
@@ -121,55 +121,55 @@
121121
],
122122
"dependencies": [
123123
{
124-
"purl": "pkg:pypi/pytest-asyncio",
125-
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
126-
"datafile_path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA",
124+
"purl": "pkg:pypi/pytest",
127125
"package_type": "pypi",
128-
"dependency_uid": "pkg:pypi/pytest-asyncio?uuid=fixed-uid-done-for-testing-5642512d1758",
129126
"extracted_requirement": "",
130127
"scope": "tests",
131128
"is_runtime": true,
132129
"is_optional": false,
133130
"is_resolved": false,
134-
"datasource_id": "pypi_wheel_metadata"
135-
},
136-
{
137-
"purl": "pkg:pypi/pytest-asyncio",
131+
"dependency_uid": "pkg:pypi/pytest?uuid=fixed-uid-done-for-testing-5642512d1758",
138132
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
139133
"datafile_path": "asgiref-3.3.0-py3-none-any.whl",
134+
"datasource_id": "pypi_wheel"
135+
},
136+
{
137+
"purl": "pkg:pypi/pytest",
140138
"package_type": "pypi",
141-
"dependency_uid": "pkg:pypi/pytest-asyncio?uuid=fixed-uid-done-for-testing-5642512d1758",
142139
"extracted_requirement": "",
143140
"scope": "tests",
144141
"is_runtime": true,
145142
"is_optional": false,
146143
"is_resolved": false,
147-
"datasource_id": "pypi_wheel"
144+
"dependency_uid": "pkg:pypi/pytest?uuid=fixed-uid-done-for-testing-5642512d1758",
145+
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
146+
"datafile_path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA",
147+
"datasource_id": "pypi_wheel_metadata"
148148
},
149149
{
150-
"purl": "pkg:pypi/pytest",
151-
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
152-
"datafile_path": "asgiref-3.3.0-py3-none-any.whl",
150+
"purl": "pkg:pypi/pytest-asyncio",
153151
"package_type": "pypi",
154-
"dependency_uid": "pkg:pypi/pytest?uuid=fixed-uid-done-for-testing-5642512d1758",
155152
"extracted_requirement": "",
156153
"scope": "tests",
157154
"is_runtime": true,
158155
"is_optional": false,
159156
"is_resolved": false,
157+
"dependency_uid": "pkg:pypi/pytest-asyncio?uuid=fixed-uid-done-for-testing-5642512d1758",
158+
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
159+
"datafile_path": "asgiref-3.3.0-py3-none-any.whl",
160160
"datasource_id": "pypi_wheel"
161161
},
162162
{
163-
"purl": "pkg:pypi/pytest",
164-
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
165-
"datafile_path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA",
163+
"purl": "pkg:pypi/pytest-asyncio",
166164
"package_type": "pypi",
167-
"dependency_uid": "pkg:pypi/pytest?uuid=fixed-uid-done-for-testing-5642512d1758",
168165
"extracted_requirement": "",
169166
"scope": "tests",
170167
"is_runtime": true,
171168
"is_optional": false,
172169
"is_resolved": false,
170+
"dependency_uid": "pkg:pypi/pytest-asyncio?uuid=fixed-uid-done-for-testing-5642512d1758",
171+
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
172+
"datafile_path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA",
173173
"datasource_id": "pypi_wheel_metadata"
174174
}
175175
],

scanpipe/tests/data/daglib-0.6.0-py3-none-any.whl_scan_codebase.json

+12-12
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@
113113
"is_resolved": false,
114114
"dependency_uid": "pkg:pypi/dask?uuid=fixed-uid-done-for-testing-5642512d1758",
115115
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
116-
"datafile_path": "daglib-0.6.0-py3-none-any.whl-extract/daglib-0.6.0.dist-info/METADATA",
117-
"datasource_id": "pypi_wheel_metadata"
116+
"datafile_path": "daglib-0.6.0-py3-none-any.whl",
117+
"datasource_id": "pypi_wheel"
118118
},
119119
{
120120
"purl": "pkg:pypi/dask",
@@ -126,8 +126,8 @@
126126
"is_resolved": false,
127127
"dependency_uid": "pkg:pypi/dask?uuid=fixed-uid-done-for-testing-5642512d1758",
128128
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
129-
"datafile_path": "daglib-0.6.0-py3-none-any.whl",
130-
"datasource_id": "pypi_wheel"
129+
"datafile_path": "daglib-0.6.0-py3-none-any.whl-extract/daglib-0.6.0.dist-info/METADATA",
130+
"datasource_id": "pypi_wheel_metadata"
131131
},
132132
{
133133
"purl": "pkg:pypi/graphviz",
@@ -165,8 +165,8 @@
165165
"is_resolved": false,
166166
"dependency_uid": "pkg:pypi/ipycytoscape?uuid=fixed-uid-done-for-testing-5642512d1758",
167167
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
168-
"datafile_path": "daglib-0.6.0-py3-none-any.whl-extract/daglib-0.6.0.dist-info/METADATA",
169-
"datasource_id": "pypi_wheel_metadata"
168+
"datafile_path": "daglib-0.6.0-py3-none-any.whl",
169+
"datasource_id": "pypi_wheel"
170170
},
171171
{
172172
"purl": "pkg:pypi/ipycytoscape",
@@ -178,8 +178,8 @@
178178
"is_resolved": false,
179179
"dependency_uid": "pkg:pypi/ipycytoscape?uuid=fixed-uid-done-for-testing-5642512d1758",
180180
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
181-
"datafile_path": "daglib-0.6.0-py3-none-any.whl",
182-
"datasource_id": "pypi_wheel"
181+
"datafile_path": "daglib-0.6.0-py3-none-any.whl-extract/daglib-0.6.0.dist-info/METADATA",
182+
"datasource_id": "pypi_wheel_metadata"
183183
},
184184
{
185185
"purl": "pkg:pypi/networkx",
@@ -191,8 +191,8 @@
191191
"is_resolved": false,
192192
"dependency_uid": "pkg:pypi/networkx?uuid=fixed-uid-done-for-testing-5642512d1758",
193193
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
194-
"datafile_path": "daglib-0.6.0-py3-none-any.whl-extract/daglib-0.6.0.dist-info/METADATA",
195-
"datasource_id": "pypi_wheel_metadata"
194+
"datafile_path": "daglib-0.6.0-py3-none-any.whl",
195+
"datasource_id": "pypi_wheel"
196196
},
197197
{
198198
"purl": "pkg:pypi/networkx",
@@ -204,8 +204,8 @@
204204
"is_resolved": false,
205205
"dependency_uid": "pkg:pypi/networkx?uuid=fixed-uid-done-for-testing-5642512d1758",
206206
"for_package_uid": "pkg:pypi/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
207-
"datafile_path": "daglib-0.6.0-py3-none-any.whl",
208-
"datasource_id": "pypi_wheel"
207+
"datafile_path": "daglib-0.6.0-py3-none-any.whl-extract/daglib-0.6.0.dist-info/METADATA",
208+
"datasource_id": "pypi_wheel_metadata"
209209
}
210210
],
211211
"files": [

scanpipe/tests/data/is-npm-1.0.0_scan_codebase.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,15 @@
6969
"dependencies": [
7070
{
7171
"purl": "pkg:npm/ava",
72-
"for_package_uid": "pkg:npm/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
73-
"datafile_path": "is-npm-1.0.0.tgz-extract/package/package.json",
7472
"package_type": "npm",
75-
"dependency_uid": "pkg:npm/ava?uuid=fixed-uid-done-for-testing-5642512d1758",
7673
"extracted_requirement": "0.0.3",
7774
"scope": "devDependencies",
7875
"is_runtime": false,
7976
"is_optional": true,
8077
"is_resolved": false,
78+
"dependency_uid": "pkg:npm/ava?uuid=fixed-uid-done-for-testing-5642512d1758",
79+
"for_package_uid": "pkg:npm/[email protected]?uuid=fixed-uid-done-for-testing-5642512d1758",
80+
"datafile_path": "is-npm-1.0.0.tgz-extract/package/package.json",
8181
"datasource_id": "npm_package_json"
8282
}
8383
],

scanpipe/tests/test_pipelines.py

+1
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,7 @@ def test_scanpipe_scan_codebase_can_process_wheel(self):
402402

403403
self.assertEqual(11, project1.codebaseresources.count())
404404
self.assertEqual(2, project1.discoveredpackages.count())
405+
self.assertEqual(8, project1.discovereddependencys.count())
405406

406407
result_file = output.to_json(project1)
407408
expected_file = (

0 commit comments

Comments
 (0)