ray/release/ray_release/tests/test_alerts.py
Kai Fricke da140a80e9
[ci/release] Legacy field should be optional (#23326)
#22749 broke release unit tests by not providing a legacy key - that key should be optional because we will b dealing with non-legacy tests soon.
Additionally, for some reason the unit tests pass on buildkite while they fail locally and in the release test pipeline. I'm investigating this now...
2022-03-18 11:34:05 +00:00

48 lines
1.3 KiB
Python

import sys
import unittest
from ray_release.alerts import (
handle,
default,
# long_running_tests,
# rllib_tests,
# tune_tests,
# xgboost_tests,
)
from ray_release.config import Test
from ray_release.exception import ReleaseTestConfigError, ResultsAlert
from ray_release.result import Result
class AlertsTest(unittest.TestCase):
def setUp(self) -> None:
self.test = Test(name="unit_alert_test", alert="default")
def testHandleAlert(self):
# Unknown test suite
with self.assertRaises(ReleaseTestConfigError):
handle.handle_result(
Test(name="unit_alert_test", alert="invalid"), Result(status="finished")
)
# Alert raised
with self.assertRaises(ResultsAlert):
handle.handle_result(
Test(name="unit_alert_test", alert="default"),
Result(status="unsuccessful"),
)
# Everything fine
handle.handle_result(
Test(name="unit_alert_test", alert="default"), Result(status="finished")
)
def testDefaultAlert(self):
self.assertTrue(default.handle_result(self.test, Result(status="timeout")))
self.assertFalse(default.handle_result(self.test, Result(status="finished")))
if __name__ == "__main__":
import pytest
sys.exit(pytest.main(["-v", __file__]))