def test_email_verification_url_generated_correctly(self):
        # Arrange
        test_user = '******'

        # Act
        url = SMTPService._generate_email_verification_url('*****@*****.**', test_user)

        parsed_url = urlparse(url)
        query = parse_qs(parsed_url.query)

        self.assertEqual(parsed_url.path, '/api/auth/email')
        self.assertEqual(query['username'], [test_user])
        self.assertTrue(query['token'])  # Token random every time so just check we have something
示例#2
0
    def test_can_parse_email_verification_token(self):
        # Arrange - Generate valid email verification url
        test_email = '*****@*****.**'
        auth_url = SMTPService._generate_email_verification_url(
            test_email, 'mrtest')

        parsed_url = urlparse(auth_url)
        query = parse_qs(parsed_url.query)

        # Arrange
        is_valid, email_address = AuthenticationService.is_valid_token(
            query['token'][0], 86400)

        # Assert
        self.assertTrue(is_valid)
        self.assertEqual(email_address, test_email)