Skip to content

Commit 2cc57ed

Browse files
committed
Add package_type to dependency serializer #511
* Update test expectations Signed-off-by: Jono Yang <jyang@nexb.com>
1 parent 91d077e commit 2cc57ed

4 files changed

Lines changed: 7 additions & 25 deletions

File tree

scanpipe/api/serializers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ class DiscoveredDependencySerializer(serializers.ModelSerializer):
238238
purl = serializers.ReadOnlyField()
239239
for_package_uid = serializers.ReadOnlyField()
240240
datafile_path = serializers.ReadOnlyField()
241+
package_type = serializers.ReadOnlyField(source="type")
241242

242243
class Meta:
243244
model = DiscoveredDependency

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

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@
124124
"purl": "pkg:pypi/pytest-asyncio",
125125
"for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758",
126126
"datafile_path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA",
127+
"package_type": "pypi",
127128
"dependency_uid": "pkg:pypi/pytest-asyncio?uuid=fixed-uid-done-for-testing-5642512d1758",
128129
"extracted_requirement": "",
129130
"scope": "tests",
@@ -136,6 +137,7 @@
136137
"purl": "pkg:pypi/pytest-asyncio",
137138
"for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758",
138139
"datafile_path": "asgiref-3.3.0-py3-none-any.whl",
140+
"package_type": "pypi",
139141
"dependency_uid": "pkg:pypi/pytest-asyncio?uuid=fixed-uid-done-for-testing-5642512d1758",
140142
"extracted_requirement": "",
141143
"scope": "tests",
@@ -148,6 +150,7 @@
148150
"purl": "pkg:pypi/pytest",
149151
"for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758",
150152
"datafile_path": "asgiref-3.3.0-py3-none-any.whl",
153+
"package_type": "pypi",
151154
"dependency_uid": "pkg:pypi/pytest?uuid=fixed-uid-done-for-testing-5642512d1758",
152155
"extracted_requirement": "",
153156
"scope": "tests",
@@ -160,6 +163,7 @@
160163
"purl": "pkg:pypi/pytest",
161164
"for_package_uid": "pkg:pypi/asgiref@3.3.0?uuid=fixed-uid-done-for-testing-5642512d1758",
162165
"datafile_path": "asgiref-3.3.0-py3-none-any.whl-extract/asgiref-3.3.0.dist-info/METADATA",
166+
"package_type": "pypi",
163167
"dependency_uid": "pkg:pypi/pytest?uuid=fixed-uid-done-for-testing-5642512d1758",
164168
"extracted_requirement": "",
165169
"scope": "tests",
@@ -191,7 +195,6 @@
191195
"name": "asgiref-3.3.0-py3-none-any.whl",
192196
"extension": ".whl",
193197
"programming_language": "",
194-
"mime_type": "application/zip",
195198
"is_binary": true,
196199
"is_text": false,
197200
"is_archive": true,
@@ -416,7 +419,6 @@
416419
"name": "asgiref-3.3.0-py3-none-any.whl-extract",
417420
"extension": "",
418421
"programming_language": "",
419-
"mime_type": "",
420422
"is_binary": false,
421423
"is_text": false,
422424
"is_archive": false,
@@ -443,7 +445,6 @@
443445
"name": "asgiref",
444446
"extension": "",
445447
"programming_language": "",
446-
"mime_type": "",
447448
"is_binary": false,
448449
"is_text": false,
449450
"is_archive": false,
@@ -470,7 +471,6 @@
470471
"name": "asgiref-3.3.0.dist-info",
471472
"extension": "",
472473
"programming_language": "",
473-
"mime_type": "",
474474
"is_binary": false,
475475
"is_text": false,
476476
"is_archive": false,
@@ -550,7 +550,6 @@
550550
"name": "LICENSE",
551551
"extension": "",
552552
"programming_language": "",
553-
"mime_type": "text/plain",
554553
"is_binary": false,
555554
"is_text": true,
556555
"is_archive": false,
@@ -665,7 +664,6 @@
665664
"name": "METADATA",
666665
"extension": "",
667666
"programming_language": "",
668-
"mime_type": "text/plain",
669667
"is_binary": false,
670668
"is_text": true,
671669
"is_archive": false,
@@ -890,7 +888,6 @@
890888
"name": "RECORD",
891889
"extension": "",
892890
"programming_language": "",
893-
"mime_type": "application/csv",
894891
"is_binary": false,
895892
"is_text": true,
896893
"is_archive": false,
@@ -917,7 +914,6 @@
917914
"name": "WHEEL",
918915
"extension": "",
919916
"programming_language": "",
920-
"mime_type": "text/plain",
921917
"is_binary": false,
922918
"is_text": true,
923919
"is_archive": false,
@@ -944,7 +940,6 @@
944940
"name": "top_level.txt",
945941
"extension": ".txt",
946942
"programming_language": "",
947-
"mime_type": "text/plain",
948943
"is_binary": false,
949944
"is_text": true,
950945
"is_archive": false,
@@ -971,7 +966,6 @@
971966
"name": "__init__.py",
972967
"extension": ".py",
973968
"programming_language": "Python",
974-
"mime_type": "text/plain",
975969
"is_binary": false,
976970
"is_text": true,
977971
"is_archive": false,
@@ -998,7 +992,6 @@
998992
"name": "compatibility.py",
999993
"extension": ".py",
1000994
"programming_language": "Python",
1001-
"mime_type": "text/x-script.python",
1002995
"is_binary": false,
1003996
"is_text": true,
1004997
"is_archive": false,
@@ -1025,7 +1018,6 @@
10251018
"name": "current_thread_executor.py",
10261019
"extension": ".py",
10271020
"programming_language": "Python",
1028-
"mime_type": "text/x-script.python",
10291021
"is_binary": false,
10301022
"is_text": true,
10311023
"is_archive": false,
@@ -1052,7 +1044,6 @@
10521044
"name": "local.py",
10531045
"extension": ".py",
10541046
"programming_language": "Python",
1055-
"mime_type": "text/x-script.python",
10561047
"is_binary": false,
10571048
"is_text": true,
10581049
"is_archive": false,
@@ -1079,7 +1070,6 @@
10791070
"name": "server.py",
10801071
"extension": ".py",
10811072
"programming_language": "Python",
1082-
"mime_type": "text/x-script.python",
10831073
"is_binary": false,
10841074
"is_text": true,
10851075
"is_archive": false,
@@ -1106,7 +1096,6 @@
11061096
"name": "sync.py",
11071097
"extension": ".py",
11081098
"programming_language": "Python",
1109-
"mime_type": "text/x-script.python",
11101099
"is_binary": false,
11111100
"is_text": true,
11121101
"is_archive": false,
@@ -1133,7 +1122,6 @@
11331122
"name": "testing.py",
11341123
"extension": ".py",
11351124
"programming_language": "Python",
1136-
"mime_type": "text/x-script.python",
11371125
"is_binary": false,
11381126
"is_text": true,
11391127
"is_archive": false,
@@ -1201,7 +1189,6 @@
12011189
"name": "timeout.py",
12021190
"extension": ".py",
12031191
"programming_language": "Python",
1204-
"mime_type": "text/x-script.python",
12051192
"is_binary": false,
12061193
"is_text": true,
12071194
"is_archive": false,
@@ -1228,7 +1215,6 @@
12281215
"name": "wsgi.py",
12291216
"extension": ".py",
12301217
"programming_language": "Python",
1231-
"mime_type": "text/x-script.python",
12321218
"is_binary": false,
12331219
"is_text": true,
12341220
"is_archive": false,

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

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
"purl": "pkg:npm/ava",
7272
"for_package_uid": "pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758",
7373
"datafile_path": "is-npm-1.0.0.tgz-extract/package/package.json",
74+
"package_type": "npm",
7475
"dependency_uid": "pkg:npm/ava?uuid=fixed-uid-done-for-testing-5642512d1758",
7576
"extracted_requirement": "0.0.3",
7677
"scope": "devDependencies",
@@ -100,7 +101,6 @@
100101
"name": "is-npm-1.0.0.tgz",
101102
"extension": ".tgz",
102103
"programming_language": "",
103-
"mime_type": "application/gzip",
104104
"is_binary": true,
105105
"is_text": false,
106106
"is_archive": true,
@@ -127,7 +127,6 @@
127127
"name": "is-npm-1.0.0.tgz-extract",
128128
"extension": ".tgz-extract",
129129
"programming_language": "",
130-
"mime_type": "",
131130
"is_binary": false,
132131
"is_text": false,
133132
"is_archive": false,
@@ -154,7 +153,6 @@
154153
"name": "package",
155154
"extension": "",
156155
"programming_language": "",
157-
"mime_type": "",
158156
"is_binary": false,
159157
"is_text": false,
160158
"is_archive": false,
@@ -183,7 +181,6 @@
183181
"name": "index.js",
184182
"extension": ".js",
185183
"programming_language": "JavaScript",
186-
"mime_type": "text/plain",
187184
"is_binary": false,
188185
"is_text": true,
189186
"is_archive": false,
@@ -212,7 +209,6 @@
212209
"name": "package.json",
213210
"extension": ".json",
214211
"programming_language": "",
215-
"mime_type": "application/json",
216212
"is_binary": false,
217213
"is_text": true,
218214
"is_archive": false,
@@ -380,7 +376,6 @@
380376
"name": "readme.md",
381377
"extension": ".md",
382378
"programming_language": "",
383-
"mime_type": "text/plain",
384379
"is_binary": false,
385380
"is_text": true,
386381
"is_archive": false,

scanpipe/tests/test_api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ def test_scanpipe_api_serializer_get_model_serializer(self):
652652

653653
def test_scanpipe_api_serializer_get_serializer_fields(self):
654654
self.assertEqual(30, len(get_serializer_fields(DiscoveredPackage)))
655-
self.assertEqual(10, len(get_serializer_fields(DiscoveredDependency)))
655+
self.assertEqual(11, len(get_serializer_fields(DiscoveredDependency)))
656656
self.assertEqual(28, len(get_serializer_fields(CodebaseResource)))
657657

658658
with self.assertRaises(LookupError):

0 commit comments

Comments
 (0)