Exemple #1
0
    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, "/verify-email/")
        self.assertEqual(query["username"], [test_user])
        self.assertTrue(
            query["token"]
        )  # Token random every time so just check we have something
    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)