def edit(token, album_id, webhook_id, data, status_code=200): print() request_url = env.env_var.get("URL") + "/albums/" + str(album_id) + "/webhooks/" + str(webhook_id) headers = {"Authorization": "Bearer "+ token, "Accept": "application/json", "Content-Type": "application/x-www-form-urlencoded"} data_tmp = data.copy() if "event" in data_tmp: del data_tmp["event"] if "add_event" in data_tmp: del data_tmp["add_event"] if "remove_event" in data_tmp: del data_tmp["remove_event"] encoded_data = util.urlencode(data_tmp) if "event" in data: events = data["event"] encoded_events = "".join(map(lambda e:"&event=" + str(e), events)) encoded_data = encoded_data + encoded_events if "add_event" in data: add_events = data["add_event"] encoded_add_events = "".join(map(lambda e:"&add_event=" + e, add_events)) encoded_data = encoded_data + encoded_add_events if "remove_event" in data: remove_events = data["remove_event"] encoded_remove_events = "".join(map(lambda e:"&remove_event=" + e, remove_events)) encoded_data = encoded_data + encoded_remove_events if encoded_data.startswith("&"): encoded_data = encoded_data[1:] response = requests.patch(request_url, headers=headers, data=encoded_data) util.print_request("PATCH", response, request_url) assert response.status_code == status_code if status_code == 200: webhook = json.loads(response.content) return webhook
def remove(token, album_id, webhook_id, status_code=204): print() request_url = env.env_var.get("URL") + "/albums/" + str(album_id) + "/webhooks/" + str(webhook_id) headers = {"Authorization": "Bearer "+ token} response = requests.delete(request_url, headers=headers) util.print_request("DELETE", response, request_url) assert response.status_code == status_code
def trigger_user(token, album_id, webhook_id, user_id, status_code=202): print() request_url = env.env_var.get("URL") + "/albums/" + str(album_id) + "/webhooks/" + str(webhook_id) + "/trigger" headers = {"Authorization": "Bearer "+ token, "Content-Type": "application/x-www-form-urlencoded"} data = {"event":"new_user", "user":user_id} response = requests.post(request_url, headers=headers, data=util.urlencode(data)) util.print_request("POST", response, request_url) assert response.status_code == status_code
def add_favorite(token, album_id, status_code=204): print() request_url = env.env_var.get( "URL") + "/albums/" + album_id + "/favorites/" headers = {"Authorization": "Bearer " + token} response = requests.put(request_url, headers=headers) util.print_request("PUT", response, request_url) assert response.status_code == status_code
def downgrade_admin_to_user(token, album_id, user_id, status_code=204): print() request_url = env.env_var.get( "URL") + "/albums/" + album_id + "/users/" + user_id + "/admin" headers = {"Authorization": "Bearer " + token} response = requests.delete(request_url, headers=headers) util.print_request("DELETE", response, request_url) assert response.status_code == status_code
def get(token, album_id, webhook_id, status_code=200): print() request_url = env.env_var.get("URL") + "/albums/" + str(album_id) + "/webhooks/" + str(webhook_id) headers = {"Authorization": "Bearer "+ token} response = requests.get(request_url, headers=headers) util.print_request("GET", response, request_url) assert response.status_code == status_code if status_code == 200: webhook = json.loads(response.content) return webhook
def get_list(token, album_id, limit=9999, offset=0, status_code=200): print() request_url = env.env_var.get("URL") + "/albums/" + str(album_id) + "/webhooks" headers = {"Authorization": "Bearer "+ token} params={"limit":limit, "offset":offset} response = requests.get(request_url, headers=headers, params=params) util.print_request("GET", response, request_url) assert response.status_code == status_code if status_code == 200: webhooks = json.loads(response.content) return webhooks
def get(token, status_code=200, params={}, count=1): print() request_url = env.env_var.get("URL") + "/users" headers = { "Authorization": "Bearer " + token, "Accept": "application/json" } response = requests.get(request_url, headers=headers, params=params) util.print_request("GET", response, request_url) assert response.status_code == status_code if status_code == 200: albums = json.loads(response.content) return albums
def add_in_album(token, params, study_instance_uid, album_id_dest, status_code=201): print() request_url = env.env_var.get("URL") + "/studies/" + study_instance_uid + "/albums/" + album_id_dest if("album" in params and "inbox" in params): assert False #no permission elif("album" in params): request_url +="?album="+params["album"] elif("inbox" in params): request_url +="?inbox="+str(params["inbox"]) headers = {"Authorization": "Bearer "+ token} response = requests.put(request_url, headers=headers) util.print_request("PUT", response, request_url) assert response.status_code == status_code
def stow(token, file_name = "series/test1.dcm", params = {}, status_code = 200, link=False): print() request_url = "" headers = {} if link: request_url = env.env_var.get("URL") + "/link/" + token + "/studies" headers = {"Content-Type": "multipart/related; type=\"application/dicom\"; boundary=myboundary"} else: request_url = env.env_var.get("URL") + "/studies" headers = {"Authorization": "Bearer "+ token, "Content-Type": "multipart/related; type=\"application/dicom\"; boundary=myboundary"} files = {'file': open(file_name, 'rb')} response = requests.post(request_url, headers=headers, files=files, params=params) util.print_request("POST", response, request_url) assert response.status_code == status_code
def get_events(token, album_id, params={}, count=1, status_code=200): print() request_url = env.env_var.get("URL") + "/albums/" + album_id + "/events" headers = { "Authorization": "Bearer " + token, "Accept": "application/json" } response = requests.get(request_url, headers=headers, params=params) util.print_request("GET", response, request_url) assert response.status_code == status_code if status_code == 200: assert response.headers.get("X-Total-Count") == str(count) album = json.loads(response.content) return album
def create(token, data, status_code=201): print() request_url = env.env_var.get("URL") + "/capabilities" headers = { "Authorization": "Bearer " + token, "Content-Type": "application/x-www-form-urlencoded" } response = requests.post(request_url, headers=headers, data=util.urlencode(data)) util.print_request("POST", response, request_url) assert response.status_code == status_code if status_code == 201: capability_token = json.loads(response.content) return capability_token
def introspect(token, status_code=200): print() request_url = env.env_var.get("URL") + "/token/introspect" headers = { "Accept": "application/json", "Content-Type": "application/x-www-form-urlencoded" } data = {"token": token} response = requests.post(request_url, headers=headers, data=util.urlencode(data)) util.print_request("POST", response, request_url) assert response.status_code == status_code if status_code == 200: introspect = json.loads(response.content) return introspect
def edit(token, album_id, data, status_code=200): print() request_url = env.env_var.get("URL") + "/albums/" + album_id headers = { "Authorization": "Bearer " + token, "Accept": "application/json", "Content-Type": "application/x-www-form-urlencoded" } response = requests.patch(request_url, headers=headers, data=util.urlencode(data)) util.print_request("PATCH", response, request_url) assert response.status_code == status_code if status_code == 200: album = json.loads(response.content) return album
def get_list(token, params={}, count=-1): print() request_url = env.env_var.get("URL") + "/studies" headers = {"Authorization": "Bearer "+ token} response = requests.get(request_url, headers=headers, params=params) util.print_request("GET", response, request_url) if count > 0: assert response.status_code == 200 assert response.headers.get("X-Total-Count") == str(count) studiesList = json.loads(response.content) return studiesList elif count == 0: assert response.status_code == 204 assert response.headers.get("X-Total-Count") == str(count) else: assert response.status_code == 200 or 204 if int(response.headers.get("X-Total-Count")) != 0: studiesList = json.loads(response.content) return studiesList
def post_comment(token, album_id, data={"comment": "default comment"}, status_code=204): print() request_url = env.env_var.get("URL") + "/albums/" + album_id + "/comments" headers = { "Authorization": "Bearer " + token, "Accept": "application/json", "Content-Type": "application/x-www-form-urlencoded" } response = requests.post(request_url, headers=headers, data=util.urlencode(data)) util.print_request("POST", response, request_url) assert response.status_code == status_code if status_code == 201: album = json.loads(response.content) return album