Example #1
0
 def test_success(self, crypt_id, setup_and_teardown):
     result = self.prep_and_run({'crypt_id': str(crypt_id)})
     assert result
     assert result.exit_code == 0, (
         f"{crypt_id=}\n{result.exception=}\n{result.output=}\n"
     )
     with pytest.raises(PhibesNotFoundError):
         Locker.get(password=self.password, locker_name=None)
Example #2
0
 def test_delete_locker_normal(self, setup_and_teardown, crypt_id):
     update_config_option_default(self.target_cmd, self.test_path)
     assert Locker.get(password=self.pw, locker_name=self.locker_name)
     result = CliRunner().invoke(
         cli=self.target_cmd,
         args=["--locker", self.locker_name, "--password", self.pw],
         input="y\n"
     )
     assert result.exit_code == 0, (
         f'{result.exception=}\n'
         f'{result.output=}\n'
     )
     with pytest.raises(PhibesNotFoundError):
         Locker.get(password=self.pw, locker_name=self.locker_name)
Example #3
0
def update_item(
        password: str, locker_name: str, item_name: str, content: str, **kwargs
):
    locker = Locker.get(password=password, locker_name=locker_name)
    item = locker.get_item(item_name)
    item.content = content
    locker.update_item(item)
    return get_item(
        password=password, locker_name=locker_name, item_name=item_name
    )
Example #4
0
 def custom_setup(self, tmp_path):
     ConfigModel().storage = StoreType.Memory.name
     super(TestGetLocker, self).custom_setup(tmp_path)
     try:
         if Locker.get(password=self.password,
                       locker_name=self.locker_name):
             Locker.delete(password=self.password,
                           locker_name=self.locker_name)
             Locker.create(password=self.password,
                           crypt_id=crypto.default_id,
                           locker_name=self.locker_name)
     except Exception:
         pass
Example #5
0
 def test_found(self, crypt_id, config_arg, setup_and_teardown):
     all_lockers = list(self.lockers.keys()) + [self.locker_name]
     for lck in all_lockers:
         result = self.prep_and_run(config_arg, {'name': lck})
         assert result
         assert result.exit_code == 0, (
             f"{config_arg=}\n"
             f"{result.exception=}\n"
             f"{result.output=}\n"
         )
         inst = Locker.get(password=self.password, locker_name=lck)
         assert (
                 inst.data_model.storage.locker_file ==
                 self.test_path / inst.locker_id / LOCKER_FILE
         )
         # alert if tests are messing up actual user home dir
         assert not Path.home().joinpath(self.locker_name).exists()
         assert not Path.home().joinpath(inst.locker_id).exists()
Example #6
0
def delete_item(
        password: str, locker_name: str, item_name: str, **kwargs
):
    locker = Locker.get(password=password, locker_name=locker_name)
    return locker.delete_item(item_name=item_name)
Example #7
0
def get_items(password: str, locker_name: str, **kwargs):
    locker = Locker.get(password=password, locker_name=locker_name)
    return [item.as_dict() for item in locker.list_items()]
Example #8
0
def get_item(password: str, locker_name: str, item_name: str, **kwargs):
    locker = Locker.get(password=password, locker_name=locker_name)
    return locker.get_item(item_name=item_name).as_dict()
Example #9
0
def get_locker(password: str, locker_name: str, **kwargs):
    return Locker.get(password=password, locker_name=locker_name).to_dict()