webhooks: Stop overriding build_webhook_url for URL query parameters.

This commit is contained in:
Eeshan Garg
2017-04-21 19:05:40 -02:30
parent e68b957f3d
commit dded73ec6f
10 changed files with 92 additions and 117 deletions

View File

@@ -536,11 +536,18 @@ class WebhookTestCase(ZulipTestCase):
return msg
def build_webhook_url(self, **kwargs):
# type: (**Any) -> Text
api_key = self.get_api_key(self.TEST_USER_EMAIL)
url = self.URL_TEMPLATE.format(stream=self.STREAM_NAME, api_key=api_key)
if kwargs and url.find('?') == -1:
def build_webhook_url(self, *args, **kwargs):
# type: (*Any, **Any) -> Text
url = self.URL_TEMPLATE
if url.find("api_key") >= 0:
api_key = self.get_api_key(self.TEST_USER_EMAIL)
url = self.URL_TEMPLATE.format(api_key=api_key,
stream=self.STREAM_NAME)
else:
url = self.URL_TEMPLATE.format(stream=self.STREAM_NAME)
has_arguments = kwargs or args
if has_arguments and url.find('?') == -1:
url = "{}?".format(url)
else:
url = "{}&".format(url)
@@ -548,7 +555,10 @@ class WebhookTestCase(ZulipTestCase):
for key, value in kwargs.items():
url = "{}{}={}&".format(url, key, value)
return url[:-1] if kwargs else url
for arg in args:
url = "{}{}&".format(url, arg)
return url[:-1] if has_arguments else url
def get_body(self, fixture_name):
# type: (Text) -> Union[Text, Dict[str, Text]]