From: Scott Baker Date: Tue, 7 Oct 2014 07:10:41 +0000 (-0700) Subject: user test, WIP X-Git-Url: http://git.onelab.eu/?p=plstackapi.git;a=commitdiff_plain;h=57b012b8f9dbd45c7850720359c0d017497bc1a1 user test, WIP --- diff --git a/planetstack/tests/usertest.py b/planetstack/tests/usertest.py new file mode 100644 index 0000000..1b5c41b --- /dev/null +++ b/planetstack/tests/usertest.py @@ -0,0 +1,72 @@ +import json +import os +import requests +import sys + +from operator import itemgetter, attrgetter + +REST_API="http://node43.princeton.vicci.org:8000/plstackapi/" +USERS_API = REST_API + "users/" + +username = sys.argv[1] +password = sys.argv[2] + +opencloud_auth=(username, password) + +admin_auth=("scott@onlab.us", "letmein") + +print "users I can see:" +r = requests.get(USERS_API + "?email=%s" % username, auth=opencloud_auth) +for user in r.json(): + print " ", user["email"] + +myself = r.json()[0] + +if myself["phone"] == "123": + myself["phone"] = "456" +else: + myself["phone"] = "123" + +r = requests.put(USERS_API + str(myself["id"]) +"/", data=myself, auth=opencloud_auth) +if r.status_code == 200: + print "I updated my phone to", myself["phone"] +else: + print "I failed to update my phone" + +if myself["is_admin"] == True: + myself["is_admin"] = False +else: + myself["is_admin"] = True + +r = requests.put(USERS_API + str(myself["id"]) +"/", data=myself, auth=opencloud_auth) +if r.status_code == 200: + print "I updated my is_admin to", myself["is_admin"] +else: + print "I failed to update my is_admin" + +r = requests.get(USERS_API + "?email=jhh@cs.arizona.edu", auth=opencloud_auth) +if len(r.json())>0: + print "I was able to read jhh@cs.arizona.edu" +else: + print "I was not able to read jhh@cs.arizona.edu" + +# get john's record using admin, so we can try to update it +r = requests.get(USERS_API + "?email=jhh@cs.arizona.edu", auth=admin_auth) +if len(r.json())>0: + print "Admin was able to read jhh@cs.arizona.edu" + jhh = r.json()[0] +else: + print "ADmin was not able to read jhh@cs.arizona.edu" + jhh = None + +if jhh: + # try to update john's user record + r = requests.put(USERS_API + str(jhh["id"]) + "/", data=jhh, auth=opencloud_auth) + if r.status_code == 200: + print "I was able to update user", str(jhh["id"]) + else: + print "I was not able to update user", str(jhh["id"]) + + + +