test: verify daily metric formulas

This commit is contained in:
lingniu
2026-07-02 08:38:32 +08:00
parent 1741aacaaa
commit c211447747
4 changed files with 78 additions and 3 deletions

View File

@@ -229,6 +229,44 @@ class GoNativeProdSmokeTest(unittest.TestCase):
self.assertEqual(check.status, "pass")
self.assertIn("frame_id=ok", check.message)
def test_daily_mileage_formula_requires_latest_minus_first(self):
check = smoke.check_total(
"jt808.daily_mileage",
{
"total": 1,
"items": [{
"metric_key": "daily_mileage_km",
"metric_value": 40.0,
"first_total_mileage_km": 4434.9,
"latest_total_mileage_km": 4481.0,
}],
},
minimum=1,
require_metric_formula=True,
)
self.assertEqual(check.status, "fail")
self.assertIn("metric_formula mismatch", check.message)
def test_daily_total_formula_requires_latest_total(self):
check = smoke.check_total(
"jt808.daily_total_mileage",
{
"total": 1,
"items": [{
"metric_key": "daily_total_mileage_km",
"metric_value": 4481.0,
"first_total_mileage_km": 4434.9,
"latest_total_mileage_km": 4481.0,
}],
},
minimum=1,
require_metric_formula=True,
)
self.assertEqual(check.status, "pass")
self.assertIn("metric_formula=ok", check.message)
if __name__ == "__main__":
unittest.main()