Persist dry-run response plans
This commit is contained in:
parent
812cf0c836
commit
1a5b6f1d8d
11 changed files with 133 additions and 5 deletions
|
|
@ -85,6 +85,34 @@ class TestRespondPlan(unittest.TestCase):
|
|||
plan = json.loads(buf.getvalue())
|
||||
self.assertEqual(plan["incident_id"], self.iid)
|
||||
self.assertGreaterEqual(plan["summary"]["action_count"], 5)
|
||||
artifacts = plan["artifacts"]
|
||||
saved = Path(artifacts["plan_path"])
|
||||
audit = Path(artifacts["audit_log"])
|
||||
self.assertTrue(saved.is_file())
|
||||
self.assertTrue(audit.is_file())
|
||||
stored = json.loads(saved.read_text())
|
||||
self.assertEqual(stored["plan_id"], plan["plan_id"])
|
||||
self.assertEqual(stored["artifacts"]["plan_path"], str(saved))
|
||||
record = json.loads(audit.read_text().splitlines()[-1])
|
||||
self.assertEqual(record["event"], "response_plan_generated")
|
||||
self.assertEqual(record["incident_id"], self.iid)
|
||||
self.assertEqual(record["plan_path"], str(saved))
|
||||
finally:
|
||||
os.environ.pop("ENODIA_LOG_DIR", None)
|
||||
|
||||
def test_cli_text_reports_persisted_plan(self):
|
||||
os.environ["ENODIA_LOG_DIR"] = str(self.tmp)
|
||||
try:
|
||||
buf = io.StringIO()
|
||||
with redirect_stdout(buf):
|
||||
code = main(["respond", "plan", self.iid])
|
||||
self.assertEqual(code, 0)
|
||||
out = buf.getvalue()
|
||||
self.assertIn("saved:", out)
|
||||
self.assertIn("audit:", out)
|
||||
plans = list((self.tmp / "response-plans").glob("*.json"))
|
||||
self.assertEqual(len(plans), 1)
|
||||
self.assertTrue((self.tmp / "response-audit.log").is_file())
|
||||
finally:
|
||||
os.environ.pop("ENODIA_LOG_DIR", None)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue