mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-09 04:13:33 +02:00
tests/fprintd: Check that identification with multiple images works
This commit is contained in:
committed by
Benjamin Berg
parent
3419901f65
commit
b2cae5cccf
@ -396,6 +396,25 @@ class FPrintdVirtualDeviceBaseTest(FPrintdTest):
|
||||
self.device.EnrollStop()
|
||||
self.assertEqual(self._last_result, expected_result)
|
||||
|
||||
def enroll_multiple_images(self, images_override={}, return_index=-1):
|
||||
enroll_map = {
|
||||
'left-thumb': 'whorl',
|
||||
'right-index-finger': 'arch',
|
||||
'left-little-finger': 'loop-right',
|
||||
}
|
||||
enroll_map.update(images_override)
|
||||
|
||||
for finger, print in enroll_map.items():
|
||||
self.enroll_image(print, finger=finger)
|
||||
|
||||
enrolled = self.device.ListEnrolledFingers('(s)', 'testuser')
|
||||
self.assertCountEqual(enroll_map.keys(), enrolled)
|
||||
|
||||
if return_index >= 0:
|
||||
return enroll_map[enrolled[return_index]]
|
||||
|
||||
return (enrolled, enroll_map)
|
||||
|
||||
|
||||
class FPrintdManagerTests(FPrintdVirtualDeviceBaseTest):
|
||||
|
||||
@ -777,6 +796,26 @@ class FPrintdVirtualDeviceClaimedTest(FPrintdVirtualDeviceBaseTest):
|
||||
self.assertEqual(self._last_result, 'verify-no-match')
|
||||
self.device.VerifyStop()
|
||||
|
||||
def test_verify_any_finger_match(self):
|
||||
second_image = self.enroll_multiple_images(return_index=1)
|
||||
self.device.VerifyStart('(s)', 'any')
|
||||
self.send_image(second_image)
|
||||
self.wait_for_result()
|
||||
self.assertTrue(self._verify_stopped)
|
||||
self.assertEqual(self._last_result, 'verify-match')
|
||||
self.device.VerifyStop()
|
||||
|
||||
def test_verify_any_finger_no_match(self):
|
||||
enrolled, _map = self.enroll_multiple_images()
|
||||
verify_image = 'tented_arch'
|
||||
self.assertNotIn(verify_image, enrolled)
|
||||
self.device.VerifyStart('(s)', 'any')
|
||||
self.send_image(verify_image)
|
||||
self.wait_for_result()
|
||||
self.assertTrue(self._verify_stopped)
|
||||
self.assertEqual(self._last_result, 'verify-no-match')
|
||||
self.device.VerifyStop()
|
||||
|
||||
def test_verify_finger_not_enrolled(self):
|
||||
self.enroll_image('whorl', finger='left-thumb')
|
||||
with self.assertFprintError('NoEnrolledPrints'):
|
||||
|
||||
Reference in New Issue
Block a user