Skip to content

Commit 884e504

Browse files
authored
chore(member merge): placeholder email for sentry apps (#94209)
Redo of #86210 with updated proxy user tests. When creating a Sentry App proxy user, we should set a placeholder email so the field is not null.
1 parent e1d511f commit 884e504

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

src/sentry/sentry_apps/logic.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,11 @@ def _generate_and_validate_slug(self) -> str:
366366

367367
def _create_proxy_user(self, slug: str) -> User:
368368
# need a proxy user name that will always be unique
369-
return User.objects.create(username=f"{slug}-{default_uuid()}", is_sentry_app=True)
369+
username = f"{slug}-{default_uuid()}"
370+
proxy_user = User.objects.create(
371+
username=username, email=f"{username}@proxy-user.sentry.io", is_sentry_app=True
372+
)
373+
return proxy_user
370374

371375
def _create_api_application(self, proxy: User) -> ApiApplication:
372376
return ApiApplication.objects.create(

tests/sentry/api/serializers/test_activity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ def test_get_activities_for_group_proxy_user(self):
187187
user=proxy_user,
188188
)
189189
)
190-
assert data["user"]["name"] == proxy_user.username
190+
assert data["user"]["name"] == proxy_user.email
191191
assert data["sentry_app"]["name"] == sentry_app.name
192192
assert {
193193
"avatarType": "default",

tests/sentry/sentry_apps/test_sentry_app_installation_creator.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from sentry.silo.base import SiloMode
1212
from sentry.testutils.cases import TestCase
1313
from sentry.testutils.silo import assume_test_silo_mode, control_silo_test
14+
from sentry.users.models.user import User
1415
from sentry.users.services.user.service import user_service
1516
from sentry.utils import json
1617

@@ -141,3 +142,10 @@ def test_records_analytics(self, record):
141142
organization_id=self.org.id,
142143
sentry_app="nulldb",
143144
)
145+
146+
@responses.activate
147+
def test_placeholder_email(self):
148+
responses.add(responses.POST, "https://example.com/webhook")
149+
install = self.run_creator()
150+
proxy_user = User.objects.get(id=install.sentry_app.proxy_user.id)
151+
assert proxy_user.email == f"{proxy_user.username}@proxy-user.sentry.io"

0 commit comments

Comments
 (0)