Files
linuxcncWebWASM/scripts/test_technical_delivery_report.py

27 lines
957 B
Python

import hashlib
import json
import unittest
from pathlib import Path
import generate_technical_delivery_report
ROOT = Path(__file__).resolve().parents[1]
class TechnicalDeliveryTests(unittest.TestCase):
def test_report(self):
report = json.loads((ROOT / "coverage/complete-simulation-technical-delivery.report.json").read_text())
self.assertEqual(report["schema"], "complete-simulation-technical-delivery.v1")
self.assertGreaterEqual(report["verified_count"], 20)
self.assertEqual(report["release"]["action"], "STOP_RELEASE")
def test_hash(self):
report = json.loads((ROOT / "coverage/complete-simulation-technical-delivery.report.json").read_text())
unsigned = dict(report)
actual = unsigned.pop("report_sha256")
self.assertEqual(actual, hashlib.sha256(generate_technical_delivery_report.canonical(unsigned).encode()).hexdigest())
if __name__ == "__main__":
unittest.main()