diff --git a/engine/apps/alerts/tests/test_alert_receiver_channel.py b/engine/apps/alerts/tests/test_alert_receiver_channel.py index b8b70cb6..20d5528d 100644 --- a/engine/apps/alerts/tests/test_alert_receiver_channel.py +++ b/engine/apps/alerts/tests/test_alert_receiver_channel.py @@ -5,6 +5,7 @@ import pytest from django.urls import reverse from apps.alerts.models import AlertReceiveChannel +from common.api_helpers.utils import create_engine_url @pytest.mark.django_db @@ -26,11 +27,7 @@ def test_integration_url(make_organization, make_alert_receive_channel, url, set kwargs={"alert_channel_key": alert_receive_channel.token}, ) - # remove trailing / if present - if url[-1] == "/": - url = url[:-1] - - assert alert_receive_channel.integration_url == f"{url}{path}" + assert alert_receive_channel.integration_url == create_engine_url(path) @pytest.mark.django_db diff --git a/engine/apps/social_auth/live_setting_django_strategy.py b/engine/apps/social_auth/live_setting_django_strategy.py index d2cf0fe1..a8deb5d8 100644 --- a/engine/apps/social_auth/live_setting_django_strategy.py +++ b/engine/apps/social_auth/live_setting_django_strategy.py @@ -7,6 +7,7 @@ from django.utils.functional import Promise from social_django.strategy import DjangoStrategy from apps.base.utils import live_settings +from common.api_helpers.utils import create_engine_url logger = logging.getLogger(__name__) @@ -37,9 +38,9 @@ class LiveSettingDjangoStrategy(DjangoStrategy): Overridden DjangoStrategy's method to substitute and force the host value from ENV """ if live_settings.SLACK_INSTALL_RETURN_REDIRECT_HOST is not None and path is not None: - return live_settings.SLACK_INSTALL_RETURN_REDIRECT_HOST + path + return create_engine_url(path, override_base=live_settings.SLACK_INSTALL_RETURN_REDIRECT_HOST) if settings.SLACK_INSTALL_RETURN_REDIRECT_HOST is not None and path is not None: - return settings.SLACK_INSTALL_RETURN_REDIRECT_HOST + path + return create_engine_url(path, override_base=settings.SLACK_INSTALL_RETURN_REDIRECT_HOST) if self.request: return self.request.build_absolute_uri(path) else: diff --git a/engine/common/api_helpers/utils.py b/engine/common/api_helpers/utils.py index 06b17f0f..9c974a37 100644 --- a/engine/common/api_helpers/utils.py +++ b/engine/common/api_helpers/utils.py @@ -54,8 +54,10 @@ def validate_ical_url(url): return None -def create_engine_url(path): +def create_engine_url(path, override_base=None): base = settings.BASE_URL + if override_base: + base = override_base if not base.endswith("/"): base += "/" trimmed_path = path.lstrip("/")