|
2 | 2 | from unittest import mock |
3 | 3 |
|
4 | 4 | import pytest |
| 5 | +from django.conf import settings |
5 | 6 | from django.core.signing import BadSignature, SignatureExpired |
6 | 7 | from django.test import RequestFactory |
7 | 8 |
|
|
13 | 14 | from sentry.testutils.silo import control_silo_test |
14 | 15 | from sentry.utils.signing import sign |
15 | 16 |
|
16 | | -TEST_SALT = "test-salt" |
| 17 | +SALT = settings.SIGNUP_VERIFICATION_EMAIL_SALT |
17 | 18 |
|
18 | 19 |
|
19 | 20 | @control_silo_test |
@@ -90,44 +91,38 @@ def setUp(self) -> None: |
90 | 91 | session.session_key = "s1" |
91 | 92 | self.request.session = session |
92 | 93 |
|
93 | | - @mock.patch("sentry.auth.email_verification._get_salt", return_value=TEST_SALT) |
94 | | - def test_valid_signature(self, mock_salt: mock.MagicMock) -> None: |
| 94 | + def test_valid_signature(self) -> None: |
95 | 95 | exp = time.time() + 300 |
96 | | - signed = sign( salt=TEST_SALT, email="[email protected]", session_id="s1", expires_at=exp) |
| 96 | + signed = sign( salt=SALT, email="[email protected]", session_id="s1", expires_at=exp) |
97 | 97 | result = unsign_signup_verification(signed, self.request) |
98 | 98 | assert result[ "email"] == "[email protected]" |
99 | 99 | assert result["session_id"] == "s1" |
100 | 100 |
|
101 | | - @mock.patch("sentry.auth.email_verification._get_salt", return_value=TEST_SALT) |
102 | | - def test_expired_link(self, mock_salt: mock.MagicMock) -> None: |
| 101 | + def test_expired_link(self) -> None: |
103 | 102 | exp = time.time() - 1 |
104 | | - signed = sign( salt=TEST_SALT, email="[email protected]", session_id="s1", expires_at=exp) |
| 103 | + signed = sign( salt=SALT, email="[email protected]", session_id="s1", expires_at=exp) |
105 | 104 | with pytest.raises(SignatureExpired): |
106 | 105 | unsign_signup_verification(signed, self.request) |
107 | 106 |
|
108 | | - @mock.patch("sentry.auth.email_verification._get_salt", return_value=TEST_SALT) |
109 | | - def test_tampered_signature(self, mock_salt: mock.MagicMock) -> None: |
| 107 | + def test_tampered_signature(self) -> None: |
110 | 108 | exp = time.time() + 300 |
111 | | - signed = sign( salt=TEST_SALT, email="[email protected]", session_id="s1", expires_at=exp) |
| 109 | + signed = sign( salt=SALT, email="[email protected]", session_id="s1", expires_at=exp) |
112 | 110 | tampered = signed[:-1] + ("A" if signed[-1] != "A" else "B") |
113 | 111 | with pytest.raises(BadSignature): |
114 | 112 | unsign_signup_verification(tampered, self.request) |
115 | 113 |
|
116 | | - @mock.patch("sentry.auth.email_verification._get_salt", return_value=TEST_SALT) |
117 | | - def test_malformed_link_throws_bad_sig(self, mock_salt: mock.MagicMock) -> None: |
| 114 | + def test_malformed_link_throws_bad_sig(self) -> None: |
118 | 115 | with pytest.raises(BadSignature): |
119 | 116 | unsign_signup_verification("not-valid-base64-!!!", self.request) |
120 | 117 |
|
121 | | - @mock.patch("sentry.auth.email_verification._get_salt", return_value=TEST_SALT) |
122 | | - def test_wrong_salt(self, mock_salt: mock.MagicMock) -> None: |
| 118 | + def test_wrong_salt(self) -> None: |
123 | 119 | exp = time.time() + 300 |
124 | 120 | signed = sign( salt="wrong-salt", email="[email protected]", session_id="s1", expires_at=exp) |
125 | 121 | with pytest.raises(BadSignature): |
126 | 122 | unsign_signup_verification(signed, self.request) |
127 | 123 |
|
128 | | - @mock.patch("sentry.auth.email_verification._get_salt", return_value=TEST_SALT) |
129 | | - def test_session_mismatch(self, mock_salt: mock.MagicMock) -> None: |
| 124 | + def test_session_mismatch(self) -> None: |
130 | 125 | exp = time.time() + 300 |
131 | | - signed = sign( salt=TEST_SALT, email="[email protected]", session_id="else", expires_at=exp) |
| 126 | + signed = sign( salt=SALT, email="[email protected]", session_id="else", expires_at=exp) |
132 | 127 | with pytest.raises(ValueError, match="Session mismatch"): |
133 | 128 | unsign_signup_verification(signed, self.request) |
0 commit comments