Skip to content

Commit

Permalink
Address review comments
Browse files Browse the repository at this point in the history
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
  • Loading branch information
TG1999 committed Aug 9, 2023
1 parent d510cd7 commit 4815a74
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 14 deletions.
6 changes: 4 additions & 2 deletions packagedb/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,7 @@ def filter_by_checksums(self, request, *args, **kwargs):
data = dict(request.data)
unsupported_fields = []
for field, value in data.items():
if field not in ('md5', 'sha1', 'sha256', 'sha512'):
if field not in ('md5', 'sha1', 'sha256', 'sha512', 'enhance_package_data'):
unsupported_fields.append(field)

if unsupported_fields:
Expand All @@ -517,12 +517,14 @@ def filter_by_checksums(self, request, *args, **kwargs):
for field, value in data.items():
# We create this intermediate dictionary so we can modify the field
# name to have __in at the end
if field in ["enhance_package_data"]:
continue
d = {f'{field}__in': value}
q |= Q(**d)

qs = Package.objects.filter(q)
paginated_qs = self.paginate_queryset(qs)
enhance_package_data = request.query_params.get('enhance_package_data', False)
enhance_package_data = data.get("enhance_package_data", False)
if enhance_package_data:
package_data = []
for package in qs:
Expand Down
6 changes: 0 additions & 6 deletions packagedb/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -1061,11 +1061,5 @@ def add_to_package_set(self, package):
def get_package_set_members(self):
"""Return related Packages"""
return self.packages.order_by(
'type',
'namespace',
'name',
'version',
'qualifiers',
'subpath',
'package_content',
)
13 changes: 7 additions & 6 deletions packagedb/tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -530,16 +530,17 @@ def test_package_api_filter_by_checksums(self):
'testsha1-6',
]
data = {
'sha1': sha1s
'sha1': sha1s,
}
enhanced_response = self.client.post('/api/packages/filter_by_checksums/?enhance_package_data=true', data=data)
self.assertEqual(5, len(enhanced_response.data['results']))
expected = self.get_test_loc('api/package-filter_by_checksums-enhanced-package-data-expected.json')
self.check_expected_results(enhanced_response.data['results'], expected, fields_to_remove=["url", "uuid", "resources", "package_sets",], regen=True)
response = self.client.post('/api/packages/filter_by_checksums/', data=data)
self.assertEqual(5, response.data['count'])
expected = self.get_test_loc('api/package-filter_by_checksums-expected.json')
self.check_expected_results(response.data['results'], expected, fields_to_remove=["url", "uuid", "resources", "package_sets",], regen=True)
self.check_expected_results(response.data['results'], expected, fields_to_remove=["url", "uuid", "resources", "package_sets",], regen=False)
data["enhance_package_data"] = True
enhanced_response = self.client.post('/api/packages/filter_by_checksums/', data=data)
self.assertEqual(5, len(enhanced_response.data['results']))
expected = self.get_test_loc('api/package-filter_by_checksums-enhanced-package-data-expected.json')
self.check_expected_results(enhanced_response.data['results'], expected, fields_to_remove=["url", "uuid", "resources", "package_sets",], regen=False)


class PackageApiReindexingTestCase(JsonBasedTesting, TestCase):
Expand Down

0 comments on commit 4815a74

Please sign in to comment.