class PyKeePassTests3(KDBX3Tests): def setUp(self): shutil.copy(os.path.join(base_dir, self.database), os.path.join(base_dir, 'change_creds.kdbx')) self.kp = PyKeePass(os.path.join(base_dir, self.database), password=self.password, keyfile=os.path.join(base_dir, self.keyfile)) self.kp_tmp = PyKeePass(os.path.join(base_dir, 'change_creds.kdbx'), password=self.password, keyfile=os.path.join(base_dir, self.keyfile)) def test_set_credentials(self): self.kp_tmp.password = '******' self.kp_tmp.keyfile = os.path.join(base_dir, 'change.key') self.kp_tmp.save() self.kp_tmp = PyKeePass(os.path.join(base_dir, 'change_creds.kdbx'), password='******', keyfile=os.path.join(base_dir, 'change.key')) results = self.kp.find_entries_by_username('foobar_user', first=True) self.assertEqual('foobar_user', results.username) def test_dump_xml(self): self.kp.dump_xml('db_dump.xml') with open('db_dump.xml') as f: first_line = f.readline() self.assertEqual( first_line, '<?xml version=\'1.0\' encoding=\'utf-8\' standalone=\'yes\'?>\n' ) def tearDown(self): os.remove(os.path.join(base_dir, 'change_creds.kdbx'))
#!/usr/bin/env python from pykeepass import PyKeePass kp = PyKeePass("out.kdbx", password="******") kp.dump_xml("out.xml")