From 84a44a0cf70e2e55a13e4e994836ee074b7039aa Mon Sep 17 00:00:00 2001 From: Michal Jagiello Date: Tue, 6 Oct 2020 09:56:13 +0000 Subject: Collect steps execution result Create a decorator to collect step execution result and store them in storage class. Storage class prepare a dictionary with step class name and execution result. Issue-ID: INT-1733 Change-Id: I9c4030a0740085a9acca461c1581683c469ecbcf Signed-off-by: Michal Jagiello --- tests/test_reports_collection.py | 10 ++++++++++ tests/test_store_state.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 tests/test_reports_collection.py create mode 100644 tests/test_store_state.py (limited to 'tests') diff --git a/tests/test_reports_collection.py b/tests/test_reports_collection.py new file mode 100644 index 0000000..264b6b4 --- /dev/null +++ b/tests/test_reports_collection.py @@ -0,0 +1,10 @@ + +from onaptests.steps.reports_collection import ReportsCollection + + +def test_reports_collection(): + rc = ReportsCollection() + assert rc.report == {} + + rc.put({"a": "b"}) + assert rc.report == {"a": "b"} diff --git a/tests/test_store_state.py b/tests/test_store_state.py new file mode 100644 index 0000000..e0c8b6b --- /dev/null +++ b/tests/test_store_state.py @@ -0,0 +1,29 @@ +import pytest +from onaptests.steps.base import BaseStep + + +class TestStep(BaseStep): + + @BaseStep.store_state + def execute(self): + return super().execute() + + +class TestFailStep(BaseStep): + + @BaseStep.store_state + def execute(self): + super().execute() + raise Exception + + +def test_store_state(): + ts = TestStep() + ts.execute() + assert ts.reports_collection.report == {"TestStep": "PASS"} + + fs = TestFailStep() + fs.add_step(TestStep()) + with pytest.raises(Exception): + fs.execute() + fs.reports_collection.report == {"TestFailStep": "FAIL", "TestStep": "PASS"} -- cgit 1.2.3-korg