supportOpsEnv / tests /test_env.py
dbatcode28's picture
initial
bd67155
raw
history blame
1.52 kB
from __future__ import annotations
import unittest
from support_ops_env.env import SupportOpsEnv
from support_ops_env.models import Action
class SupportOpsEnvTest(unittest.TestCase):
def test_easy_task_can_score_perfectly(self) -> None:
env = SupportOpsEnv("easy_account_takeover")
env.reset()
env.step(Action(action_type="request_context", target="T1", value="account_security"))
env.step(Action(action_type="request_context", target="T1", value="billing_activity"))
env.step(Action(action_type="set_priority", target="T1", value="urgent"))
env.step(Action(action_type="set_route", target="T1", value="account_security"))
env.step(
Action(
action_type="set_resolution",
target="T1",
value="temporary_lock_and_manual_recovery",
)
)
_, _, done, info = env.step(
Action(action_type="escalate", target="T1", value="security_specialist")
)
self.assertFalse(done)
_, _, done, info = env.step(Action(action_type="finalize"))
self.assertTrue(done)
self.assertAlmostEqual(info["task_score"], 1.0, places=4)
def test_hard_queue_ranking_is_scored(self) -> None:
env = SupportOpsEnv("hard_queue_triage")
env.reset()
_, _, _, info = env.step(Action(action_type="rank_queue", value="T2,T3,T1"))
self.assertGreater(info["task_score"], 0.0)
if __name__ == "__main__":
unittest.main()