def test_modify(self): v = Vault(self.c) v.create(self.s.get(), reinitialize=True) v.open(self.s.get()) v.data['key'] = 'value' v.save(self.s.get()) v.close() v.open(self.s.get()) self.assertEqual(v.data, {'key': 'value'})
class TestVault(unittest.TestCase): _multiprocess_can_split_ = True VAULT = "vault_test.vlt" PASS = "******" DEFARGS = { "iter_time": 1, "use_urandom": True, "password": PASS, } def setUp(self): # Cleanup after any failures from previous runs noexcept(fs.Unmount(self.path()), important=False) noexcept(crypt.Close(self.path()), important=False) noexcept(loopdev.Close(self.path()), important=False) shutil.rmtree(self.dir()) self.v = Vault(self.path()) def tearDown(self): self.v.close() def id(self): id = super().id() return "_".join(id.split('.')[-2:]) def dir(self): dir = os.path.join("test_data", self.id()) os.makedirs(dir, exist_ok=True) return dir def path(self): return os.path.join(self.dir(), self.VAULT) def mount(self): dir = os.path.join(self.dir(), "vault") return dir def open(self): self.v.open(self.mount(), password=self.PASS) def create(self, randomize=True, **kwargs): args = dict(**self.DEFARGS) args.update(**kwargs) self.v.create(self.mount(), "10m", randomize=randomize, **args)
def test_open(self): v = Vault(self.c) v.create(self.s.get(), reinitialize=True) self.assertEqual(v.open(self.s.get()), VaultStatus.OK) self.assertEqual(v.data, {})