def test_cpr_lookup_dummy_mode_true(self, m): with self.subTest('found'): self.assertRequestResponse('/service/e/cpr_lookup/?q=0101501234', { 'name': 'Merle Mortensen', 'cpr_no': "0101501234" }) with self.subTest('too early'): self.assertEqual( mora_util.get_cpr_birthdate(2004936541).year, 1893) self.assertRequestResponse( '/service/e/cpr_lookup/?q=2004936541', { 'cpr': '2004936541', 'description': 'No person found for given CPR number.', 'error': True, 'error_key': 'V_NO_PERSON_FOR_CPR', 'status': 404, }, status_code=404, ) with self.subTest('too late'): self.assertEqual( mora_util.get_cpr_birthdate(2004256543).year, 2025) self.assertRequestResponse( '/service/e/cpr_lookup/?q=2004256543', { 'cpr': '2004256543', 'description': 'No person found for given CPR number.', 'error': True, 'error_key': 'V_NO_PERSON_FOR_CPR', 'status': 404, }, status_code=404, ) with self.subTest('not a cpr number'): self.assertRequestResponse( '/service/e/cpr_lookup/?q=1337', { 'cpr': '1337', 'error_key': 'V_CPR_NOT_VALID', 'description': 'Not a valid CPR number.', 'error': True, 'status': 400, }, status_code=400, )
def test_get_cpr_birthdate(self): def check(cpr, isodate): with self.subTest(str(cpr)): self.assertEqual( util.get_cpr_birthdate(cpr), util.from_iso_time(isodate), ) check(1010771999, '1977-10-10') check(1010274999, '2027-10-10') check(1010774999, '1977-10-10') check(1010575999, '2057-10-10') check(1010775999, '1877-10-10') check(1010776999, '1877-10-10') check(1010476999, '2047-10-10') check(1010359999, '2035-10-10') check(1010779999, '1977-10-10') check('1205320000', '1932-05-12') check('0906340000', '1934-06-09') check('0905380000', '1938-05-09') with self.assertRaisesRegex(ValueError, '^invalid CPR number'): util.get_cpr_birthdate('0000000000') with self.assertRaisesRegex(ValueError, '^invalid CPR number'): util.get_cpr_birthdate(2222222222) with self.assertRaisesRegex(ValueError, '^invalid CPR number'): util.get_cpr_birthdate(10101010000)
def check(cpr, isodate): with self.subTest(str(cpr)): self.assertEqual( util.get_cpr_birthdate(cpr), util.from_iso_time(isodate), )