Skip to content

Commit 8f47de3

Browse files
committed
Add test for on_failure mechanism
Signed-off-by: Keshav Priyadarshi <[email protected]>
1 parent 4d9a976 commit 8f47de3

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

vulnerabilities/tests/pipelines/test_base_pipeline.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
from vulnerabilities.importer import AffectedPackage
2020
from vulnerabilities.importer import Reference
2121
from vulnerabilities.pipelines import VulnerableCodeBaseImporterPipeline
22+
from vulnerabilities.pipelines import VulnerableCodePipeline
23+
from vulnerabilities.tests.pipelines import TestLogger
2224

2325
advisory_data1 = AdvisoryData(
2426
aliases=["CVE-2020-13371337"],
@@ -47,6 +49,33 @@ def get_advisory1(created_by="test_pipeline"):
4749
)
4850

4951

52+
class TestVulnerableCodePipeline(TestCase):
53+
def test_on_failure(self):
54+
class TestPipeline(VulnerableCodePipeline):
55+
def __init__(self, test_logger):
56+
super().__init__()
57+
self.log = test_logger.write
58+
59+
@classmethod
60+
def steps(cls):
61+
return (cls.step1,)
62+
63+
def step1(self):
64+
raise Exception("Something went wrong!")
65+
66+
def on_failure(self):
67+
self.log("Doing cleanup.")
68+
69+
logger = TestLogger()
70+
pipeline = TestPipeline(test_logger=logger)
71+
72+
pipeline.execute()
73+
log_result = logger.getvalue()
74+
75+
self.assertIn("Pipeline failed", log_result)
76+
self.assertIn("Running [on_failure] tasks", log_result)
77+
78+
5079
class TestVulnerableCodeBaseImporterPipeline(TestCase):
5180
@patch.object(
5281
VulnerableCodeBaseImporterPipeline,

0 commit comments

Comments
 (0)