Protocol.send_task: handle missing url or protocol param

pull/1081/head
Ryan Barrett 2024-05-22 14:27:06 -07:00
rodzic 1778a1145e
commit 45ba0fb69f
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
2 zmienionych plików z 16 dodań i 2 usunięć

Wyświetl plik

@ -1531,8 +1531,12 @@ def send_task():
logger.info(f'Params: {list(form.items())}')
# prepare
url = form['url']
protocol = form['protocol']
url = form.get('url')
protocol = form.get('protocol')
if not url or not protocol:
logger.warning(f'Missing protocol or url; got {protocol} {url}')
return '', 204
target = Target(uri=url, protocol=protocol)
obj = ndb.Key(urlsafe=form['obj']).get()

Wyświetl plik

@ -2363,3 +2363,13 @@ class ProtocolReceiveTest(TestCase):
'user': self.user.key.urlsafe(),
}, headers={CLOUD_TASKS_QUEUE_HEADER: ''})
self.assertEqual(200, resp.status_code)
def test_send_task_missing_url(self):
obj = self.store_object(id='fake:post')
resp = self.client.post('/queue/send', data={
'protocol': 'fake',
'obj': obj.key.urlsafe(),
'url': None,
'user': self.user.key.urlsafe(),
}, headers={CLOUD_TASKS_QUEUE_HEADER: ''})
self.assertEqual(204, resp.status_code)