test_driver.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. plugin_classes=get_config("plugins"),
  13. aliases=get_config("aliases"),
  14. responses=get_config("responses"),
  15. sleep_time=float(get_config("sleep_time")),
  16. callback=None,
  17. session_factory=db.Session
  18. )
  19. db.init_db()
  20. def test_drive(msg, from_admin=True):
  21. rmsg = RollbotMessage("mock", None, None, "test_group", None, msg, from_admin)
  22. r =rollbot.run_command(rmsg)
  23. print(msg, ":", r.txt, ",", r.failure)
  24. if __name__ == "__main__":
  25. [logging.disable(level) for level in [
  26. logging.DEBUG,
  27. logging.INFO,
  28. logging.WARN,
  29. logging.ERROR,
  30. ]]
  31. rollbot.start_plugins()
  32. atexit.register(rollbot.shutdown_plugins)
  33. [test_drive(msg) for msg in [
  34. "!session worst",
  35. "!session blah",
  36. "!session cancel",
  37. "!session next",
  38. "!session next asdf",
  39. "!session next Sunday",
  40. "!session late",
  41. "!session view",
  42. "!session cancel T e S t",
  43. "!session next Sunday",
  44. "!session late",
  45. "!session view",
  46. "!session cancel T e S t",
  47. "!session next Sunday",
  48. "!session late",
  49. "!session view",
  50. "!session cancel dIfFeReNt",
  51. "!session late",
  52. "!session cancel",
  53. "!session next Saturday",
  54. "!session next 01/01/1980",
  55. "!session next 01/01/2980",
  56. "!session late",
  57. "!session view",
  58. "!session cancel",
  59. "!session worst",
  60. ]]