Exemple #1
0
 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'})
Exemple #2
0
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)
Exemple #3
0
 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, {})