From cc203b17c184f36963288c6fdc8c81df2e08ec92 Mon Sep 17 00:00:00 2001 From: tdruez Date: Mon, 12 Feb 2024 18:46:27 +0100 Subject: [PATCH] Add unit test for new fetch initial from PurlDB #14 Signed-off-by: tdruez --- component_catalog/tests/test_views.py | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/component_catalog/tests/test_views.py b/component_catalog/tests/test_views.py index 5608cd5f..a1e71a3b 100644 --- a/component_catalog/tests/test_views.py +++ b/component_catalog/tests/test_views.py @@ -3654,6 +3654,53 @@ def test_component_catalog_package_add_view_create_proper(self): expected = "Package "name.zip" was successfully created." self.assertContains(response, expected) + @mock.patch("dejacode_toolkit.purldb.PurlDB.request_get") + @mock.patch("dejacode_toolkit.purldb.PurlDB.is_configured") + def test_component_catalog_package_add_view_initial_data( + self, mock_is_configured, mock_request_get + ): + self.client.login(username=self.super_user.username, password="secret") + add_url = reverse("component_catalog:package_add") + + mock_is_configured.return_value = True + self.dataspace.enable_purldb_access = True + self.dataspace.save() + + puyrldb_entry = { + "filename": "abbot-1.4.0.jar", + "release_date": "2015-09-22", + "type": "maven", + "namespace": "abbot", + "name": "abbot", + "version": "1.4.0", + "qualifiers": "", + "subpath": "", + "primary_language": "Java", + "description": "Abbot Java GUI Test Library", + "declared_license_expression": "bsd-new OR eps-1.0 OR apache-2.0 OR mit", + } + mock_request_get.return_value = { + "count": 1, + "results": [puyrldb_entry], + } + + response = self.client.get(add_url) + self.assertEqual({}, response.context["form"].initial) + + response = self.client.get(add_url + "?package_url=pkg:maven/abbot/abbot@1.4.0") + expected = { + "filename": "abbot-1.4.0.jar", + "release_date": "2015-09-22", + "type": "maven", + "namespace": "abbot", + "name": "abbot", + "version": "1.4.0", + "primary_language": "Java", + "description": "Abbot Java GUI Test Library", + "license_expression": "bsd-new OR eps-1.0 OR apache-2.0 OR mit", + } + self.assertEqual(expected, response.context["form"].initial) + @mock.patch("dje.tasks.scancodeio_submit_scan.delay") @mock.patch("dejacode_toolkit.scancodeio.ScanCodeIO.is_configured") def test_component_catalog_package_add_view_create_with_submit_scan(