Browse Source

fix: Set ALLOWED_HOSTS before starting relay (#20098)

* fix: Set ALLOWED_HOSTS before starting relay
* fix import
Markus Unterwaditzer 4 years ago
parent
commit
77d4d1c972

+ 0 - 26
src/sentry/testutils/relay.py

@@ -36,30 +36,6 @@ def ensure_relay_is_registered():
         pass  # NOQA
 
 
-def adjust_settings_for_relay_tests(settings):
-    """
-    Adjusts the application settings to accept calls from a Relay instance running inside a
-    docker container.
-
-    :param settings: the app settings
-    """
-    settings.ALLOWED_HOSTS = [
-        "localhost",
-        "testserver",
-        "host.docker.internal",
-        "0.0.0.0",
-        "127.0.0.1",
-    ]
-    settings.KAFKA_CLUSTERS = {
-        "default": {
-            "bootstrap.servers": "127.0.0.1:9092",
-            "compression.type": "lz4",
-            "message.max.bytes": 50000000,  # 50MB, default is 1MB
-        }
-    }
-    settings.SENTRY_RELAY_WHITELIST_PK = ["SMSesqan65THCV6M4qs4kBzPai60LzuDn-xNsvYpuP8"]
-
-
 class RelayStoreHelper(object):
     """
     Tests that post to the store entry point should use this helper class
@@ -170,8 +146,6 @@ class RelayStoreHelper(object):
             "TEST_USER_AGENT/0.0.0", self.projectkey.public_key, self.projectkey.secret_key, "7"
         )
 
-        adjust_settings_for_relay_tests(settings)
-
         self.settings = settings
         self.get_relay_store_url = get_relay_store_url  # noqa
         self.get_relay_minidump_url = get_relay_minidump_url  # noqa

+ 26 - 1
src/sentry/utils/pytest/relay.py

@@ -116,7 +116,8 @@ def relay_server_setup(live_server, tmpdir_factory):
 
 
 @pytest.fixture(scope="function")
-def relay_server(relay_server_setup):
+def relay_server(relay_server_setup, settings):
+    adjust_settings_for_relay_tests(settings)
     options = relay_server_setup["options"]
     docker_client = get_docker_client()
     container_name = _relay_server_container_name()
@@ -137,6 +138,30 @@ def relay_server(relay_server_setup):
     return {"url": relay_server_setup["url"]}
 
 
+def adjust_settings_for_relay_tests(settings):
+    """
+    Adjusts the application settings to accept calls from a Relay instance running inside a
+    docker container.
+
+    :param settings: the app settings
+    """
+    settings.ALLOWED_HOSTS = [
+        "localhost",
+        "testserver",
+        "host.docker.internal",
+        "0.0.0.0",
+        "127.0.0.1",
+    ]
+    settings.KAFKA_CLUSTERS = {
+        "default": {
+            "bootstrap.servers": "127.0.0.1:9092",
+            "compression.type": "lz4",
+            "message.max.bytes": 50000000,  # 50MB, default is 1MB
+        }
+    }
+    settings.SENTRY_RELAY_WHITELIST_PK = ["SMSesqan65THCV6M4qs4kBzPai60LzuDn-xNsvYpuP8"]
+
+
 @pytest.fixture
 def get_relay_store_url(relay_server):
     def inner(project_id):

+ 1 - 1
tests/relay_integration/test_sdk.py

@@ -12,7 +12,7 @@ from sentry.utils.compat import mock
 
 from sentry import eventstore
 from sentry.testutils import assert_mock_called_once_with_partial
-from sentry.testutils.relay import adjust_settings_for_relay_tests
+from sentry.utils.pytest.relay import adjust_settings_for_relay_tests
 
 
 @pytest.fixture