test_generate_operator.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import asyncio
  2. import unittest
  3. from app.operators.get_dashboard_info import get_dashboard_info
  4. from app.operators.generate_qa_pair import generate_qa_pair
  5. class GenerateOperatorTest(unittest.TestCase):
  6. def setUp(self):
  7. self.input_args = {
  8. "dashboard_id": "DB001",
  9. "card_ids": ["C0001", "C0002"],
  10. "bbk": "BBK002",
  11. }
  12. self.dashboard_info = get_dashboard_info(self.input_args)
  13. def test_generate_qa_pair_fallback_output(self):
  14. result = asyncio.run(
  15. generate_qa_pair({
  16. "get_dashboard_info": self.dashboard_info,
  17. "dashboard_id": self.input_args["dashboard_id"],
  18. "card_ids": self.input_args["card_ids"],
  19. "bbk": self.input_args["bbk"],
  20. "user_request": "",
  21. })
  22. )
  23. self.assertEqual(len(result), len(self.dashboard_info.cards))
  24. first = result[0]
  25. print(first)
  26. self.assertEqual(first.dashboard_id, self.input_args["dashboard_id"])
  27. self.assertIn(first.card_id, self.input_args["card_ids"])
  28. self.assertTrue(first.question)
  29. if __name__ == "__main__":
  30. unittest.main()