Change slack URL to be built the same as other engine URLs (#280)

* Change slack login url to be built the same way as other engine urls

* Fix tests

* Change how to override base url in create_engine_url

* Change how to override base url in create_engine_url
This commit is contained in:
Michael Derynck 2022-07-22 10:02:00 -06:00 committed by GitHub
parent c9c6df88c5
commit ff57775368
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 8 deletions

View file

@ -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

View file

@ -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:

View file

@ -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("/")