import pathlib current = pathlib.Path(__file__).parent root = current.parent import sys sys.path.append(str(root)) import assets import sqlmodel builder = assets.user_builder() builder.nick = "test1" builder.set_password("qwerty") test1 = builder.result def drop_database() -> None: db = pathlib.Path("./002-test.db") if db.is_file(): db.unlink() drop_database() connection = sqlmodel.create_engine("sqlite:///002-test.db") sqlmodel.SQLModel.metadata.create_all(connection) with assets.user_loader(connection) as loader: print("Register: " + str(loader.register(test1))) logged = loader.login("test1", "qwerty") print("Logged user apikey: " + str(logged.apikey)) bad_psk = loader.login("test1", "qweee") print("Bad password user: " + str(bad_psk)) logged.apikey = assets.apikey() loader.save(logged) print("Logged user apikey after change: " + str(logged.apikey)) print("Change password") crypto = logged.key("qwerty").decrypted helper = assets.user_builder(logged) helper.set_password("QWERTY", "qwerty") loader.save(helper.result) print("Saved with new password, trying to login.") logged = loader.login("test1", "QWERTY") print("Result:" + str(logged)) if logged.key("QWERTY").decrypted == crypto: print("Crypto key recrypting work.") else: print("Crypto key recrypting NOT WORK.") drop_database()