|
6 | 6 |
|
7 | 7 | from sentry.conf.server import SENTRY_SCOPE_HIERARCHY_MAPPING, SENTRY_SCOPES
|
8 | 8 | from sentry.hybridcloud.models import ApiTokenReplica
|
9 |
| -from sentry.models.apitoken import ApiToken, PlaintextSecretAlreadyRead |
| 9 | +from sentry.models.apitoken import ApiToken, NotSupported, PlaintextSecretAlreadyRead |
10 | 10 | from sentry.models.integrations.sentry_app_installation import SentryAppInstallation
|
11 | 11 | from sentry.models.integrations.sentry_app_installation_token import SentryAppInstallationToken
|
12 | 12 | from sentry.silo import SiloMode
|
@@ -77,6 +77,13 @@ def test_last_chars_are_not_set(self):
|
77 | 77 | token = ApiToken.objects.create(user_id=user.id)
|
78 | 78 | assert token.token_last_characters is None
|
79 | 79 |
|
| 80 | + @override_options({"apitoken.save-hash-on-create": True}) |
| 81 | + def test_hash_exists_on_token(self): |
| 82 | + user = self.create_user() |
| 83 | + token = ApiToken.objects.create(user_id=user.id) |
| 84 | + assert token.hashed_token is not None |
| 85 | + assert token.hashed_refresh_token is not None |
| 86 | + |
80 | 87 | @override_options({"apitoken.save-hash-on-create": True})
|
81 | 88 | def test_hash_exists_on_user_token(self):
|
82 | 89 | user = self.create_user()
|
@@ -130,11 +137,19 @@ def test_error_when_accessing_refresh_token_on_user_token(self):
|
130 | 137 | user = self.create_user()
|
131 | 138 | token = ApiToken.objects.create(user_id=user.id, token_type=AuthTokenType.USER)
|
132 | 139 |
|
133 |
| - with pytest.raises(NotImplementedError): |
| 140 | + with pytest.raises(NotSupported): |
134 | 141 | assert token._plaintext_refresh_token is not None
|
135 | 142 |
|
136 | 143 | @override_options({"apitoken.save-hash-on-create": True})
|
137 |
| - def test_user_auth_token_hash(self): |
| 144 | + def test_user_auth_token_refresh_raises_error(self): |
| 145 | + user = self.create_user() |
| 146 | + token = ApiToken.objects.create(user_id=user.id, token_type=AuthTokenType.USER) |
| 147 | + |
| 148 | + with pytest.raises(NotSupported): |
| 149 | + token.refresh() |
| 150 | + |
| 151 | + @override_options({"apitoken.save-hash-on-create": True}) |
| 152 | + def test_user_auth_token_sha256_hash(self): |
138 | 153 | user = self.create_user()
|
139 | 154 | token = ApiToken.objects.create(user_id=user.id, token_type=AuthTokenType.USER)
|
140 | 155 | expected_hash = hashlib.sha256(token._plaintext_token.encode()).hexdigest()
|
|
0 commit comments