From 61a3f1d4f5a11131a3f058d01e4821eaf0505bab Mon Sep 17 00:00:00 2001 From: shockrah Date: Mon, 26 Apr 2021 02:01:04 -0700 Subject: [PATCH] + Adding first pass of a pair of invite endpoint tests --- json-api/client-tests/main.py | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/json-api/client-tests/main.py b/json-api/client-tests/main.py index c6c3260..fd3215d 100644 --- a/json-api/client-tests/main.py +++ b/json-api/client-tests/main.py @@ -57,6 +57,22 @@ def req(admin: Admin, method: str, path: str, qs: dict, hope: int, headers: dict return Request(url, method, params, headers, hope, body, verbose) +def make_and_receive_invite(admin: Admin) -> (Request, Request): + make_inv_req = req(admin, 'post', '/invite/create', {}, 200, verbose=True) + user_inv_req = req(admin , 'get' , '/invite/join', new_invite_body, 200, verbose=True) + + # Fire the first request and do some safety checks in case the request fails + make_inv_req.fire() + if make_inv_req.response is None: + return (make_inv_req, user_inv_req) + + # Setup to fire the second request, .fire() is safe to blindly use at this point + new_invite_body = make_inv_req.response.json()['invite'] + user_inv_req.fire() + + return (make_inv_req, user_inv_req) + + if __name__ == '__main__': admin = create_admin() if admin is None: @@ -79,6 +95,8 @@ if __name__ == '__main__': mk_chan_sanity, chan_id = make_channel(admin.server.url, admin.id, admin.jwt) mk_chan_to_delete, del_chan_id = make_channel(admin.server.url, admin.id, admin.jwt) + # Invite test + # Container for most/all the generic requests we want to fire off requests.extend([ req(fake_user, 'get', '/channels/list', {}, 401), @@ -94,9 +112,12 @@ if __name__ == '__main__': req(admin, 'get', '/members/me', {}, 200), req(admin, 'get', '/members/get_online', {}, 200), req(admin, 'post', '/members/me/nickname', {'nick': f'randy-{time()}'}, 200), - req(admin , 'post', '/invite/create', {}, 200, verbose=True) ]) + # add this after fire the generic tests + inv_req_mk, inv_req_use = make_and_receive_invite(admin) + + # Fire off for req in requests: req.fire() @@ -104,6 +125,11 @@ if __name__ == '__main__': requests.insert(0, login_req) requests.insert(0, mk_chan_sanity) requests.insert(0, mk_chan_to_delete) + # Append the invite endpoint tests(only because they're meant to come near the end) + requests.append(inv_req_mk) + if inv_req_use is not None: + requests.append(inv_req_use) + pass_count = 0 for r in requests: r.show_response()