@@ -1110,8 +1110,39 @@ def test_ctx_manager(self):
1110
1110
results = kp .find_entries_by_username ('foobar_user' , first = True )
1111
1111
self .assertEqual ('foobar_user' , results .username )
1112
1112
1113
+ class PyKeePassTests3 (KDBX3Tests ):
1114
+ """Tests on PyKeePass class that don't involve attachments or finding entries/groups"""
1115
+
1116
+ def test_database_info (self ):
1117
+ """Test database properties"""
1118
+
1119
+ # Test name
1120
+ self .assertEqual (self .kp_tmp .database_name , None )
1121
+ self .kp_tmp .database_name = "Test Name"
1122
+ self .assertEqual (self .kp_tmp .database_name , "Test Name" )
1123
+
1124
+ # Test Description
1125
+ self .assertEqual (self .kp_tmp .database_description , None )
1126
+ self .kp_tmp .database_description = "Test Description"
1127
+ self .assertEqual (self .kp_tmp .database_description , "Test Description" )
1128
+
1129
+ # Test Default User Name
1130
+ self .assertEqual (self .kp_tmp .default_username , None )
1131
+ self .kp_tmp .default_username = "Test User"
1132
+ self .assertEqual (self .kp_tmp .default_username , "Test User" )
1133
+
1134
+ self .kp_tmp .save ()
1135
+ self .kp_tmp .reload ()
1136
+
1137
+ self .assertEqual (self .kp_tmp .database_name , "Test Name" )
1138
+ self .assertEqual (self .kp_tmp .database_description , "Test Description" )
1139
+ self .assertEqual (self .kp_tmp .default_username , "Test User" )
1140
+
1141
+ class PyKeePassTests4 (KDBX4Tests , PyKeePassTests3 ):
1142
+ pass
1113
1143
1114
1144
class KDBXTests (unittest .TestCase ):
1145
+ """Tests on KDBX parsing"""
1115
1146
1116
1147
def test_open_save (self ):
1117
1148
"""try to open all databases, save them, then open the result"""
@@ -1364,63 +1395,6 @@ def test_open_no_decrypt(self):
1364
1395
self .assertEqual (kp .encryption_algorithm , enc_alg )
1365
1396
self .assertEqual (kp .version , version )
1366
1397
1367
- def test_database_info (self ):
1368
- """Test database properties"""
1369
-
1370
-
1371
- databases = [
1372
- 'test3.kdbx' ,
1373
- 'test4.kdbx' ,
1374
- ]
1375
- passwords = [
1376
- 'password' ,
1377
- 'password' ,
1378
- ]
1379
- keyfiles = [
1380
- base_dir / 'test3.key' ,
1381
- base_dir / 'test4.key' ,
1382
- ]
1383
- filenames_out = [
1384
- base_dir / 'test3.kdbx.out' ,
1385
- base_dir / 'test4_aes.kdbx.out' ,
1386
- ]
1387
-
1388
- for database , password , keyfile , filename_out in zip (databases , passwords , keyfiles , filenames_out ):
1389
- kp = PyKeePass (
1390
- os .path .join (base_dir , database ),
1391
- password ,
1392
- keyfile
1393
- )
1394
-
1395
- # Test name
1396
- self .assertEqual (kp .database_name , None )
1397
- kp .database_name = "Test Name"
1398
- self .assertEqual (kp .database_name , "Test Name" )
1399
-
1400
- # Test Description
1401
- self .assertEqual (kp .database_description , None )
1402
- kp .database_description = "Test Description"
1403
- self .assertEqual (kp .database_description , "Test Description" )
1404
-
1405
- # Test Default User Name
1406
- self .assertEqual (kp .default_username , None )
1407
- kp .default_username = "Test User"
1408
- self .assertEqual (kp .default_username , "Test User" )
1409
-
1410
- kp .save (filename_out )
1411
- kp = PyKeePass (
1412
- filename_out ,
1413
- password ,
1414
- keyfile
1415
- )
1416
-
1417
- self .assertEqual (kp .database_name , "Test Name" )
1418
- self .assertEqual (kp .database_description , "Test Description" )
1419
- self .assertEqual (kp .default_username , "Test User" )
1420
-
1421
- for filename in base_dir .glob ('*.out' ):
1422
- os .remove (filename )
1423
-
1424
1398
if __name__ == '__main__' :
1425
1399
unittest .main ()
1426
1400
0 commit comments