Exemplo n.º 1
0
    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,
            )
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
 def check(cpr, isodate):
     with self.subTest(str(cpr)):
         self.assertEqual(
             util.get_cpr_birthdate(cpr),
             util.from_iso_time(isodate),
         )