From 3c91ac9a3f0557d43e05673c98e996d93166e06b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Thu, 17 Dec 2020 01:24:46 +0100 Subject: [PATCH] tests/fprintd: Add utility functions to check if prints are stored --- tests/fprintd.py | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/tests/fprintd.py b/tests/fprintd.py index 6f5ea9e..1df01a2 100755 --- a/tests/fprintd.py +++ b/tests/fprintd.py @@ -291,7 +291,9 @@ class FPrintdTest(dbusmock.DBusTestCase): self.addCleanup(shutil.rmtree, self.test_dir) self.state_dir = os.path.join(self.test_dir, 'state') self.run_dir = os.path.join(self.test_dir, 'run') - os.environ['FP_DRIVERS_WHITELIST'] = 'virtual_image' + self.device_driver = 'virtual_image' + self.device_id = 0 + os.environ['FP_DRIVERS_WHITELIST'] = self.device_driver def assertFprintError(self, fprint_error): return self.assertRaisesRegex(GLib.Error, @@ -304,6 +306,16 @@ class FPrintdTest(dbusmock.DBusTestCase): except PermissionError: pass + def get_print_file_path(self, user, finger): + return os.path.join(self.state_dir, user, self.device_driver, + str(self.device_id), str(int(finger))) + + def assertFingerInStorage(self, user, finger): + self.assertTrue(os.path.exists(self.get_print_file_path(user, finger))) + + def assertFingerNotInStorage(self, user, finger): + self.assertFalse(os.path.exists(self.get_print_file_path(user, finger))) + @property def finger_needed(self): return self.device.get_cached_property('finger-needed').unpack() @@ -1162,8 +1174,7 @@ class FPrintdVirtualDeviceClaimedTest(FPrintdVirtualDeviceBaseTest): self.device.ListEnrolledFingers('(s)', 'nottestuser') self.enroll_image('whorl') - - self.assertTrue(os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7'))) + self.assertFingerInStorage('testuser', FPrint.Finger.RIGHT_INDEX) with self.assertFprintError('NoEnrolledPrints'): self.device.ListEnrolledFingers('(s)', 'nottestuser') @@ -1206,7 +1217,7 @@ class FPrintdVirtualDeviceClaimedTest(FPrintdVirtualDeviceBaseTest): # And delete the print(s) again self.device.DeleteEnrolledFingers('(s)', 'testuser') - self.assertFalse(os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7'))) + self.assertFingerNotInStorage('testuser', FPrint.Finger.RIGHT_INDEX) with self.assertFprintError('NoEnrolledPrints'): self.device.ListEnrolledFingers('(s)', 'testuser') @@ -1214,12 +1225,12 @@ class FPrintdVirtualDeviceClaimedTest(FPrintdVirtualDeviceBaseTest): def test_enroll_delete2(self): self.enroll_image('whorl') - self.assertTrue(os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7'))) + self.assertFingerInStorage('testuser', FPrint.Finger.RIGHT_INDEX) # And delete the print(s) again using the new API self.device.DeleteEnrolledFingers2() - self.assertFalse(os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7'))) + self.assertFingerNotInStorage('testuser', FPrint.Finger.RIGHT_INDEX) self.assertFalse(os.path.exists(os.path.join(self.state_dir, 'testuser'))) self.assertTrue(os.path.exists(self.state_dir)) @@ -1227,16 +1238,16 @@ class FPrintdVirtualDeviceClaimedTest(FPrintdVirtualDeviceBaseTest): self.enroll_image('whorl', finger='right-index-finger') self.enroll_image('tented_arch', finger='left-index-finger') - self.assertTrue(os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7'))) - self.assertTrue(os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/2'))) + self.assertFingerInStorage('testuser', FPrint.Finger.RIGHT_INDEX) + self.assertFingerInStorage('testuser', FPrint.Finger.LEFT_INDEX) self.device.DeleteEnrolledFinger('(s)', 'right-index-finger') - self.assertTrue(os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/2'))) - self.assertFalse(os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7'))) + self.assertFingerInStorage('testuser', FPrint.Finger.LEFT_INDEX) + self.assertFingerNotInStorage('testuser', FPrint.Finger.RIGHT_INDEX) self.device.DeleteEnrolledFinger('(s)', 'left-index-finger') - self.assertFalse(os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/2'))) - self.assertFalse(os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7'))) + self.assertFingerNotInStorage('testuser', FPrint.Finger.LEFT_INDEX) + self.assertFingerNotInStorage('testuser', FPrint.Finger.RIGHT_INDEX) def test_enroll_invalid_storage_dir(self): # Directory will not exist yet