006-application.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import pathlib
  2. current = pathlib.Path(__file__).parent
  3. root = current.parent
  4. import sys
  5. sys.path.append(str(root))
  6. import assets
  7. import sqlmodel
  8. def drop_db() -> None:
  9. db = pathlib.Path("./006-application.db")
  10. if db.is_file():
  11. db.unlink()
  12. drop_db()
  13. connection = sqlmodel.create_engine("sqlite:///006-application.db")
  14. app = assets.application_user(connection)
  15. sqlmodel.SQLModel.metadata.create_all(connection)
  16. print("Register.")
  17. print("With success:")
  18. print(app.register("user1", "password"))
  19. print(app.register("user2", "password"))
  20. print("With fail:")
  21. print(app.register("user2", "password"))
  22. print(app.register("user3", "pas"))
  23. print(app.register("user3", "paswword\""))
  24. print()
  25. print("Login.")
  26. print("With success:")
  27. print(app.login("user1", "password"))
  28. print(app.login("user2", "password"))
  29. print("With fail:")
  30. print(app.login("user3", "password"))
  31. print(app.login("user1", "password_bad"))
  32. print()
  33. test_apikey = app.login("user1", "password")["apikey"]
  34. print("Get user.")
  35. print("With success:")
  36. print(app.get(test_apikey))
  37. print("With fail:")
  38. print(app.get("not exists"))
  39. print("Unregister.")
  40. print("Registering new user...")
  41. to_drop_apikey = app.register("user_to_drop", "password1")["apikey"]
  42. print("With fail:")
  43. print(app.unregister("jeriojeroi", "password1"))
  44. print(app.unregister(to_drop_apikey, "bad_password"))
  45. print("With success:")
  46. print(app.unregister(to_drop_apikey, "password1"))
  47. print()
  48. print("Apikey refresh.")
  49. print("With success:")
  50. print(app.apikey_refresh(test_apikey))
  51. print("With fail (old apikey):")
  52. print(app.apikey_refresh(test_apikey))
  53. test_apikey = app.login("user1", "password")["apikey"]
  54. print()
  55. print("Change password.")
  56. print("With success:")
  57. print(app.change_password(test_apikey, "password", "password1"))
  58. print(app.change_password(test_apikey, "password1", "password"))
  59. print("With fail:")
  60. print(app.change_password("fjljsdkl", "password1", "password"))
  61. print(app.change_password(test_apikey, "password1", "password"))
  62. print(app.change_password(test_apikey, "password1", "password\'"))
  63. print()
  64. print("Change nick.")
  65. print("With success:")
  66. print(app.change_nick(test_apikey, "test_user"))
  67. print("Result:")
  68. print(app.get(test_apikey))
  69. print("With fail:")
  70. print(app.change_nick(test_apikey, "SAMpl\'"))
  71. print(app.change_nick("jjsfdfjskl", "nick1"))
  72. print(app.change_nick(test_apikey, "user2"))
  73. drop_db()