vivaticket: send form url in dedicated HTTP Header (#31877)
This commit is contained in:
parent
4f491a22e4
commit
585d1a1656
|
@ -116,6 +116,11 @@ EVENTBOOK_SCHEMA = {
|
|||
"description": "quantity",
|
||||
"type": "integer",
|
||||
"required": True
|
||||
},
|
||||
"form_url": {
|
||||
"description": "form url",
|
||||
"type": "string",
|
||||
"required": True
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -165,14 +170,14 @@ class VivaTicket(BaseResource):
|
|||
return response
|
||||
return self.requests.get(url, params=params)
|
||||
|
||||
def post(self, endpoint, payload):
|
||||
def post(self, endpoint, payload, headers=None):
|
||||
url = urlparse.urljoin(self.url, endpoint)
|
||||
payload.update({'Key': self.get_apikey()})
|
||||
response = self.requests.post(url, json=payload)
|
||||
response = self.requests.post(url, json=payload, headers=headers)
|
||||
# api key is expired
|
||||
if response.status_code == 401:
|
||||
payload['key'] = self.get_apikey(True)
|
||||
return self.requests.post(url, json=payload)
|
||||
return self.requests.post(url, json=payload, headers=headers)
|
||||
return response
|
||||
|
||||
def get_setting(self, endpoint, **kwargs):
|
||||
|
@ -260,5 +265,7 @@ class VivaTicket(BaseResource):
|
|||
'endDateTime': post_data['datetime']
|
||||
}]
|
||||
}
|
||||
r = self.post('Booking/Post', {'Booking': booking})
|
||||
headers = {'X-Vivaticket-Form-URL': post_data['form_url']}
|
||||
r = self.post('Booking/Post', {'Booking': booking}, headers=headers)
|
||||
self.logger.debug('Book response: %r' % r.text)
|
||||
return {'data': r.json()}
|
||||
|
|
|
@ -312,6 +312,7 @@ def test_book(mocked_get, mocked_put, mocked_post, app, connector):
|
|||
payload['theme'] = '001'
|
||||
payload['room'] = 'v001'
|
||||
payload['quantity'] = 1
|
||||
payload['form_url'] = "http://mysite.com/form/id/"
|
||||
response = app.post_json(url, params=payload, status=400)
|
||||
assert "does not match '^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}$" in response.json['err_desc']
|
||||
payload['datetime'] = '2019-01-15T10:00'
|
||||
|
@ -327,4 +328,5 @@ def test_book(mocked_get, mocked_put, mocked_post, app, connector):
|
|||
assert mocked_post.call_args[1]['json']['Booking']['startDateTime'] == '2019-01-15T10:00'
|
||||
assert mocked_post.call_args[1]['json']['Booking']['endDateTime'] == '2019-01-15T10:00'
|
||||
assert mocked_post.call_args[1]['json']['Booking']['contact'] == {'InternalCode': '0000000273'}
|
||||
assert mocked_post.call_args[1]['headers'] == {'X-Vivaticket-Form-URL': 'http://mysite.com/form/id/'}
|
||||
assert response.json['data']['bookingCode'] == 'II0000013'
|
||||
|
|
Loading…
Reference in New Issue