| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 | 
							- import pathlib
 
- current = pathlib.Path(__file__).parent
 
- root = current.parent
 
- import sys
 
- sys.path.append(str(root))
 
- import assets
 
- import sqlmodel
 
- def drop_database() -> None:
 
-     db = pathlib.Path("./004-test.db")
 
-     if db.is_file():
 
-         db.unlink()
 
- drop_database()
 
- connection = sqlmodel.create_engine("sqlite:///004-test.db")
 
- sqlmodel.SQLModel.metadata.create_all(connection)
 
- user_builder = assets.user_builder()
 
- user_builder.nick = "test"
 
- user_builder.set_password("qwerty")
 
- sample_user = user_builder.result
 
- with assets.user_loader(connection) as loader:
 
-     loader.register(sample_user)
 
- secret_builder = assets.secret_builder()
 
- coder = assets.secret_coder(sample_user.key("qwerty").decrypted)
 
- secret_builder.clear()
 
- secret_builder.name = "secret1"
 
- secret_builder.owner = sample_user
 
- secret_builder.domain = "http://secret1"
 
- secret_builder.coded = coder.encrypt("Sample1")
 
- secret_1 = secret_builder.result
 
- secret_builder.clear()
 
- secret_builder.name = "secret2"
 
- secret_builder.owner = sample_user
 
- secret_builder.domain = "https://secret2"
 
- secret_builder.coded = coder.encrypt("SamPle2")
 
- secret_2 = secret_builder.result
 
- print(sample_user)
 
- print(secret_1)
 
- print(secret_2)
 
- print("Inserting into database")
 
- with assets.secret_loader(connection, sample_user) as loader:
 
-     loader.append(secret_1)
 
-     loader.append(secret_2)
 
- print()
 
- print("Loading secrets by name:")
 
- with assets.secret_loader(connection, sample_user) as loader:
 
-     load_1 = loader.load_by_name("secret1")
 
-     
 
-     print("Loaded secret 1 from database:")
 
-     print(load_1)
 
-     load_2 = loader.load_by_name("secret2")
 
-     print("Loaded secret 2 from database:")
 
-     print(load_2)
 
- print()
 
- print("Loading secrets by domain:")
 
- with assets.secret_loader(connection, sample_user) as loader:
 
-     print("Results for domain \"secret\": ")
 
-     for item in loader.search_for_domain("secret"):
 
-         print(item)
 
-     print("Results for domain \"not_exists\":")
 
-     for item in loader.search_for_domain("not_exists"):
 
-         print(item)
 
- print()
 
- print("Modify secrets:")
 
- with assets.secret_loader(connection, sample_user) as loader:
 
-     loaded = loader.load_by_name("secret1")
 
-     print("Before:")
 
-     print(loaded)
 
-     builder = assets.secret_builder(loaded)
 
-     builder.domain = "https://other.com"
 
-     builder.coded = coder.encrypt("OTHER SAMPLE")
 
-     loader.update(builder.result)
 
-     print("After:")
 
-     print(loader.load_by_name("secret1"))
 
- print()
 
- print("Delete secrets:")
 
- with assets.secret_loader(connection, sample_user) as loader:
 
-     loaded = loader.load_by_name("secret1")
 
-     loader.drop(loaded)
 
-     print("After:")
 
-     print(loader.load_by_name("secret1"))
 
- print()
 
- print("Clear:")
 
- with assets.secret_loader(connection, sample_user) as loader:
 
-     print("Before:")
 
-     print(loader.load_by_name("secret2"))
 
-     loader.clear()
 
-     print("After:")
 
-     print(loader.load_by_name("secret2"))
 
- drop_database()
 
 
  |