diff --git a/src/sentry/options/defaults.py b/src/sentry/options/defaults.py index c1e13a1dbfbfd3..3130e5f38947af 100644 --- a/src/sentry/options/defaults.py +++ b/src/sentry/options/defaults.py @@ -3520,13 +3520,6 @@ flags=FLAG_AUTOMATOR_MODIFIABLE, ) -# Killswitch for linking identities for demo users -register( - "identity.prevent-link-identity-for-demo-users.enabled", - type=Bool, - default=False, - flags=FLAG_AUTOMATOR_MODIFIABLE, -) register( "sentry.send_onboarding_task_metrics", diff --git a/src/sentry/users/models/identity.py b/src/sentry/users/models/identity.py index f81ed9d1acca42..e5fb728b072554 100644 --- a/src/sentry/users/models/identity.py +++ b/src/sentry/users/models/identity.py @@ -10,7 +10,7 @@ from django.db.models import Q, QuerySet from django.utils import timezone -from sentry import analytics, options +from sentry import analytics from sentry.backup.scopes import RelocationScope from sentry.db.models import ( BoundedPositiveIntegerField, @@ -19,7 +19,6 @@ control_silo_model, ) from sentry.db.models.manager.base import BaseManager -from sentry.demo_mode.utils import is_demo_user from sentry.integrations.types import ExternalProviders, IntegrationProviderSlug from sentry.users.services.user import RpcUser @@ -90,17 +89,6 @@ def link_identity( the case where the user is linked to a different identity or the identity is linked to a different user. """ - # NOTE(vgrozdanic): temporary fix for #inc-1373 to stop the bleed - if is_demo_user(user) and options.get( - "identity.prevent-link-identity-for-demo-users.enabled" - ): - logger.warning( - "Preventing link identity for demo user", - extra={"user_id": user.id, "idp_id": idp.id, "external_id": external_id}, - stack_info=True, - ) - return None - from sentry.integrations.slack.analytics import SlackIntegrationIdentityLinked defaults = { @@ -146,17 +134,6 @@ def create_identity( user: User | RpcUser, defaults: Mapping[str, Any], ) -> Identity | None: - # NOTE(vgrozdanic): temporary fix for #inc-1373 to stop the bleed - if is_demo_user(user) and options.get( - "identity.prevent-link-identity-for-demo-users.enabled" - ): - logger.warning( - "Preventing creating identity for demo user", - extra={"user_id": user.id, "idp_id": idp.id, "external_id": external_id}, - stack_info=True, - ) - return None - identity_model = self.create( idp_id=idp.id, user_id=user.id, external_id=external_id, **defaults ) @@ -182,16 +159,6 @@ def reattach( Removes identities under `idp` associated with either `external_id` or `user` and creates a new identity linking them. """ - if is_demo_user(user) and options.get( - "identity.prevent-link-identity-for-demo-users.enabled" - ): - logger.warning( - "Preventing reattaching identity for demo user", - extra={"user_id": user.id, "idp_id": idp.id, "external_id": external_id}, - stack_info=True, - ) - return None - self.delete_identity(user=user, idp=idp, external_id=external_id) return self.create_identity(user=user, idp=idp, external_id=external_id, defaults=defaults) @@ -206,17 +173,6 @@ def update_external_id_and_defaults( Updates the identity object for a given user and identity provider with the new external id and other fields related to the identity status """ - # NOTE(vgrozdanic): temporary fix for #inc-1373 to stop the bleed - if is_demo_user(user) and options.get( - "identity.prevent-link-identity-for-demo-users.enabled" - ): - logger.warning( - "Preventing updating identity for demo user", - extra={"user_id": user.id, "idp_id": idp.id, "external_id": external_id}, - stack_info=True, - ) - return None - query = self.filter(user_id=user.id, idp=idp) query.update(external_id=external_id, **defaults) identity_model = query.get() diff --git a/tests/sentry/users/models/test_identity.py b/tests/sentry/users/models/test_identity.py index e734c06f72211b..727f49626da39f 100644 --- a/tests/sentry/users/models/test_identity.py +++ b/tests/sentry/users/models/test_identity.py @@ -1,9 +1,7 @@ from sentry.identity import register from sentry.identity.providers.dummy import DummyProvider from sentry.testutils.cases import TestCase -from sentry.testutils.helpers import override_options from sentry.testutils.silo import control_silo_test -from sentry.users.models.identity import Identity @control_silo_test @@ -21,30 +19,3 @@ def test_get_provider(self) -> None: provider = identity_model.get_provider() assert provider.name == "Dummy" assert provider.key == "dummy" - - def test_link_identity_for_demo_users(self) -> None: - user = self.create_user() - idp = self.create_identity_provider(type="dummy", external_id="1234") - - # if the setting is disabled, the identity should be linked even for demo users - with override_options({"demo-mode.enabled": True, "demo-mode.users": [user.id]}): - assert Identity.objects.link_identity(user, idp, "1234") is not None - - # if the setting is enabled, the identity should not be linked for demo users - with override_options( - { - "identity.prevent-link-identity-for-demo-users.enabled": True, - "demo-mode.enabled": True, - "demo-mode.users": [user.id], - } - ): - assert Identity.objects.link_identity(user, idp, "1234") is None - - # if the setting is enabled, the identity should still be linked for non-demo users - with override_options( - { - "identity.prevent-link-identity-for-demo-users.enabled": True, - "demo-mode.enabled": True, - } - ): - assert Identity.objects.link_identity(user, idp, "1234") is not None