|
8 | 8 | class TestRedHatConverter(unittest.TestCase):
|
9 | 9 | """Test end-to-end convertion from RedHAt CSAF to OSV format"""
|
10 | 10 |
|
| 11 | + test_advisories = ["2024_4546", "2024_6220"] |
| 12 | + |
11 | 13 | def test_convert_redhat(self):
|
12 |
| - """ Test a single demo CSAF file """ |
13 |
| - modified_time = datetime.strptime("2024-09-02T14:30:00", |
14 |
| - "%Y-%m-%dT%H:%M:%S") |
15 |
| - csaf_file = "testdata/rhsa-2024_4546.json" |
16 |
| - expected_file = "testdata/RHSA-2024_4546.json" |
17 |
| - |
18 |
| - with open(csaf_file, "r", encoding="utf-8") as fp: |
19 |
| - csaf_data = fp.read() |
20 |
| - converter = RedHatConverter() |
21 |
| - osv_data = converter.convert(csaf_data, |
22 |
| - modified_time.strftime(DATE_FORMAT)) |
23 |
| - |
24 |
| - assert osv_data[0] == "RHSA-2024:4546" |
25 |
| - result_data = json.loads(osv_data[1]) |
26 |
| - |
27 |
| - with open(expected_file, "r", encoding="utf-8") as fp: |
28 |
| - expected_data = json.load(fp) |
29 |
| - assert expected_data == result_data |
| 14 | + for test_advisory in self.test_advisories: |
| 15 | + """ Test a single demo CSAF file """ |
| 16 | + modified_time = datetime.strptime("2024-09-02T14:30:00", |
| 17 | + "%Y-%m-%dT%H:%M:%S") |
| 18 | + csaf_file = f"testdata/rhsa-{test_advisory}.json" |
| 19 | + expected_file = f"testdata/RHSA-{test_advisory}.json" |
| 20 | + |
| 21 | + with open(csaf_file, "r", encoding="utf-8") as fp: |
| 22 | + csaf_data = fp.read() |
| 23 | + converter = RedHatConverter() |
| 24 | + osv_data = converter.convert(csaf_data, |
| 25 | + modified_time.strftime(DATE_FORMAT)) |
| 26 | + |
| 27 | + advisory_id = test_advisory.replace("_", ":") |
| 28 | + assert osv_data[0] == f"RHSA-{advisory_id}" |
| 29 | + result_data = json.loads(osv_data[1]) |
| 30 | + |
| 31 | + with open(expected_file, "r", encoding="utf-8") as fp: |
| 32 | + expected_data = json.load(fp) |
| 33 | + assert expected_data == result_data |
30 | 34 |
|
31 | 35 |
|
32 | 36 | if __name__ == '__main__':
|
|
0 commit comments