test_driver.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import atexit
  2. import logging
  3. import os
  4. from rollbot import Rollbot, RollbotMessage
  5. from config import BOTS_LOOKUP, DB_FILE, get_config
  6. try:
  7. os.remove(DB_FILE)
  8. except FileNotFoundError:
  9. pass
  10. import db
  11. rollbot = Rollbot(
  12. plugins=get_config("plugins"),
  13. aliases=get_config("aliases"),
  14. responses=get_config("responses"),
  15. lookup=BOTS_LOOKUP,
  16. sleep_time=float(get_config("sleep_time")),
  17. callback=None,
  18. session_factory=db.session_scope
  19. )
  20. db.init_db()
  21. def test_drive(msg, from_admin=True):
  22. rmsg = RollbotMessage("mock", None, None, "test_group", None, msg, from_admin)
  23. r =rollbot.run_command(rmsg)
  24. print(msg, ":", r.txt, ",", r.failure)
  25. if __name__ == "__main__":
  26. [logging.disable(level) for level in [
  27. logging.DEBUG,
  28. logging.INFO,
  29. logging.WARN,
  30. logging.ERROR,
  31. ]]
  32. rollbot.start_plugins()
  33. atexit.register(rollbot.shutdown_plugins)
  34. [test_drive(msg) for msg in [
  35. "!session worst",
  36. "!session blah",
  37. "!session cancel",
  38. "!session next",
  39. "!session next asdf",
  40. "!session next Sunday",
  41. "!session late",
  42. "!session view",
  43. "!session cancel T e S t",
  44. "!session next Sunday",
  45. "!session late",
  46. "!session view",
  47. "!session cancel T e S t",
  48. "!session next Sunday",
  49. "!session late",
  50. "!session view",
  51. "!session cancel dIfFeReNt",
  52. "!session late",
  53. "!session cancel",
  54. "!session next Saturday",
  55. "!session next 01/01/1980",
  56. "!session next 01/01/2980",
  57. "!session late",
  58. "!session view",
  59. "!session cancel",
  60. "!session worst",
  61. ]]