import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) import json import unittest import deckit.modules.sbbuilder as sbb class Fail(unittest.TestCase): def test_offline_on_ssh_failure(self): def boom(cmd, timeout=5): raise OSError("no route") self.assertTrue(sbb.make({"sbbuilder": {"host": "buildsystem"}, "run": boom}).state()["offline"]) class Ok(unittest.TestCase): def test_parses_jobs(self): out = json.dumps({"jobs": [{"id": "20261109-101010-build", "status": "running"}]}) st = sbb.make({"sbbuilder": {"host": "buildsystem"}, "run": lambda cmd, timeout=5: out}).state() self.assertFalse(st["offline"]) self.assertEqual(st["jobs"][0]["status"], "running") if __name__ == "__main__": unittest.main()