passerelle/functests/vivaticket/test_vivaticket.py

61 lines
1.4 KiB
Python

from __future__ import print_function
import pprint
import datetime
import requests
import random
def call_generic(conn, endpoint):
print("%s \n" % endpoint)
url = conn + '/%s' % endpoint
resp = requests.get(url)
resp.raise_for_status()
res = resp.json()
assert res['err'] == 0
data = res['data']
print('%s \n' % endpoint)
pprint.pprint(data)
print('\n')
return data
def test_get_events(conn):
call_generic(conn, 'events')
def test_get_rooms(conn):
call_generic(conn, 'rooms')
def test_get_themes(conn):
call_generic(conn, 'themes')
def test_book_event(conn):
url = conn + '/book'
payload = {
'id': 'formid',
'email': 'foo@example.com',
'datetime': datetime.datetime.now().strftime('%Y-%m-%dT%H:%M'),
'room': '001',
'theme': 'A0001',
'quantity': 1,
}
events = call_generic(conn, 'events')
random.shuffle(events)
payload['event'] = events[0]['id']
rooms = call_generic(conn, 'rooms')
random.shuffle(rooms)
payload['room'] = rooms[0]['id']
themes = call_generic(conn, 'themes')
random.shuffle(themes)
payload['theme'] = themes[0]['id']
print("Creating booking with the following payload:\n%s" % payload)
resp = requests.post(url, json=payload)
resp.raise_for_status()
res = resp.json()
assert res['err'] == 0
data = res['data']
pprint.pprint(data)
print('\n')