008-application_secret.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 assets
  8. import sqlmodel
  9. def drop_db() -> None:
  10. db = pathlib.Path("./008-application_secret.db")
  11. if db.is_file():
  12. db.unlink()
  13. drop_db()
  14. connection = sqlmodel.create_engine("sqlite:///008-application_secret.db")
  15. user_app = assets.application_user(connection)
  16. secret_app = assets.application_secret(connection)
  17. crypter_app = assets.application_crypter(connection)
  18. sqlmodel.SQLModel.metadata.create_all(connection)
  19. user_app.register("test", "password")
  20. apikey = user_app.login("test", "password")["apikey"]
  21. print("Created test user, apikey: " + apikey)
  22. coded = crypter_app.encrypt(apikey, "password", "SAMPLE")["crypted"]
  23. print("Encrypted content: " + coded)
  24. secret_app.create(apikey, "sample", "https://xyz.com", coded)
  25. print()
  26. print("Created secret.")
  27. print("Result:")
  28. coded_result = secret_app.get(apikey, "sample")["coded"]
  29. print(coded_result)
  30. print()
  31. print("Decoding:")
  32. print(crypter_app.decrypt(apikey, "password", coded_result))
  33. print()
  34. print("Search by domain:")
  35. print(secret_app.domain_search(apikey, "xyz.com"))
  36. print()
  37. print("Search by name:")
  38. print(secret_app.name_search(apikey, "sam"))
  39. print()
  40. print("Name in use: ")
  41. print(secret_app.name_in_use(apikey, "sample"))
  42. print()
  43. print("Name not in use:")
  44. print(secret_app.name_in_use(apikey, "not_name"))
  45. print()
  46. print("Updating...")
  47. print(secret_app.update(
  48. apikey,
  49. "sample",
  50. new_name = "new_sample",
  51. domain = "https:abc.pl"
  52. ))
  53. print("After update:")
  54. print(secret_app.get(apikey, "new_sample"))
  55. print()
  56. print("Deleting...")
  57. print(secret_app.drop(apikey, "new_sample"))
  58. print("After delete:")
  59. print(secret_app.get(apikey, "new_sample"))
  60. drop_db()