1
1
from __future__ import annotations
2
2
3
- from typing import Any
4
3
from unittest import mock
5
4
6
5
from django .conf import settings
15
14
from sentry .middleware .customer_domain import CustomerDomainMiddleware
16
15
from sentry .testutils .cases import APITestCase , TestCase
17
16
from sentry .testutils .helpers import with_feature
18
- from sentry .testutils .region import override_region_config
19
- from sentry .testutils .silo import no_silo_test
20
- from sentry .types .region import RegionCategory , clear_global_regions
17
+ from sentry .testutils .silo import all_silo_test , create_test_regions , no_silo_test
21
18
from sentry .web .frontend .auth_logout import AuthLogoutView
22
19
23
20
@@ -27,9 +24,8 @@ def _session(d: dict[str, str]) -> SessionBase:
27
24
return ret
28
25
29
26
30
- @override_settings (
31
- SENTRY_USE_CUSTOMER_DOMAINS = True ,
32
- )
27
+ @all_silo_test (regions = create_test_regions ("us" , "eu" ))
28
+ @override_settings (SENTRY_USE_CUSTOMER_DOMAINS = True )
33
29
class CustomerDomainMiddlewareTest (TestCase ):
34
30
def test_sets_active_organization_if_exists (self ):
35
31
self .create_organization (name = "test" )
@@ -128,30 +124,14 @@ def test_no_op(self):
128
124
assert response == mock .sentinel .response
129
125
130
126
def test_ignores_region_subdomains (self ):
131
- clear_global_regions ()
132
- region_configs : list [dict [str , Any ]] = [
133
- {
134
- "name" : "us" ,
135
- "snowflake_id" : 1 ,
136
- "address" : "http://us.testserver" ,
137
- "category" : RegionCategory .MULTI_TENANT .name ,
138
- },
139
- {
140
- "name" : "eu" ,
141
- "snowflake_id" : 1 ,
142
- "address" : "http://eu.testserver" ,
143
- "category" : RegionCategory .MULTI_TENANT .name ,
144
- },
145
- ]
146
- with override_region_config (region_configs ):
147
- for region in region_configs :
148
- request = RequestFactory ().get ("/" )
149
- request .subdomain = region ["name" ]
150
- request .session = _session ({"activeorg" : "test" })
151
- response = CustomerDomainMiddleware (lambda request : mock .sentinel .response )(request )
152
-
153
- assert dict (request .session ) == {"activeorg" : "test" }
154
- assert response == mock .sentinel .response
127
+ for region_name in ("us" , "eu" ):
128
+ request = RequestFactory ().get ("/" )
129
+ request .subdomain = region_name
130
+ request .session = _session ({"activeorg" : "test" })
131
+ response = CustomerDomainMiddleware (lambda request : mock .sentinel .response )(request )
132
+
133
+ assert dict (request .session ) == {"activeorg" : "test" }
134
+ assert response == mock .sentinel .response
155
135
156
136
def test_handles_redirects (self ):
157
137
self .create_organization (name = "sentry" )
0 commit comments