Coverage for tests / publisher / cve / test_has_cve.py: 100%
25 statements
« prev ^ index » next coverage.py v7.13.1, created at 2025-12-29 22:06 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2025-12-29 22:06 +0000
1import unittest
2from unittest.mock import patch
4from webapp.publisher.cve.cve_helper import CveHelper
5from werkzeug.exceptions import NotFound
8class HasRevisionsWithCvesTest(unittest.TestCase):
9 @patch("webapp.publisher.cve.cve_helper.CveHelper._get_cve_file_metadata")
10 def test_returns_revision_numbers(self, mock_get_metadata):
11 mock_get_metadata.return_value = [
12 {"name": "123.yaml"},
13 {"name": "456.yaml"},
14 {"name": "789.yaml"},
15 ]
17 result = CveHelper.get_revisions_with_cves("my-snap")
18 self.assertEqual(result, [123, 456, 789])
20 @patch("webapp.publisher.cve.cve_helper.CveHelper._get_cve_file_metadata")
21 def test_ignores_non_yaml_files(self, mock_get_metadata):
22 mock_get_metadata.return_value = [
23 {"name": "README.md"},
24 {"name": "123.yaml"},
25 {"name": "abc.yaml"},
26 {"name": "456.yaml"},
27 {"name": "data.txt"},
28 ]
30 result = CveHelper.get_revisions_with_cves("my-snap")
31 self.assertEqual(result, [123, 456])
33 @patch("webapp.publisher.cve.cve_helper.CveHelper._get_cve_file_metadata")
34 def test_returns_empty_list_if_no_revision_files(self, mock_get_metadata):
35 mock_get_metadata.return_value = [
36 {"name": "README.md"},
37 {"name": "notes.txt"},
38 ]
40 result = CveHelper.get_revisions_with_cves("my-snap")
41 self.assertEqual(result, [])
43 @patch("webapp.publisher.cve.cve_helper.CveHelper._get_cve_file_metadata")
44 def test_returns_empty_list_on_not_found(self, mock_get_metadata):
45 mock_get_metadata.side_effect = NotFound()
47 result = CveHelper.get_revisions_with_cves("my-snap")
48 self.assertEqual(result, [])