def is_success(desc, res):
	test_print(desc, res.status_code < 300)
def is_failure(desc, res):
	test_print(desc, res.status_code >= 400 and res.status_code < 500)
is_success(desc, res)
res = r.update_resource(resource_id1, sharing_level=2)
is_success(desc, res)

desc = "### create 1 to 3 reservation on free ###"
res = r.create_reservation([free_id], get_time(1), get_time(3), "t", "d")
is_failure(desc, res)

desc = "### create a conflicitng on both free and restricted ###"
res = r.create_reservation([free_id, resource_id1], get_time(1), get_time(3), "t", "d")
is_success(desc, res)

desc = "### Test that cannot set resource to free when oversubscribed with unconfirmed rsrvts."
res = r.update_resource(resource_id1, resource_state="free")
is_failure(desc, res)
test_print(desc, len(r.json.loads(res.content)) == 3)

desc = "### Test that can reduce sharing_level when overbooked with unconfirmed reservations, and change back"
res = r.update_resource(resource_id1, sharing_level=1)
is_success(desc, res)
res = r.update_resource(resource_id1, sharing_level=2)
is_success(desc, res)

desc = "### create 1 to 3 reservation on restricted ###"
res = r.create_reservation([resource_id1], get_time(1), get_time(3), "t", "d")
is_success(desc, res)

desc = "### create 3 to 4 reservation ###"
res = r.create_reservation([free_id, resource_id1], get_time(3), get_time(4), "t", "d")
is_success(desc, res)
reservation1 = get_id(res)
is_success(desc, res)
res = r.create_resource("r2", "r2", "free", 1000, 0, 1)
resource2 = get_id(res)
is_success(desc, res)
res = r.add_tag(resource2, ["resource2", "a resource"])
is_success(desc, res)
res = r.create_resource("r2", "r2", "free", 1000, 0, 1)
resource3 = get_id(res)
is_success(desc, res)
res = r.add_tag(resource3, ["resource3"])
is_success(desc, res)

desc = "### check that the tag filter sees 4 resources as admin (including root) ###"
res = r.filter_tags([], [], 0, 99999999)
is_success(desc, res)
r.test_print(desc, len(r.json.loads(res.content)['resources']) == 4)

desc = "### Check included and excluded tags work ###"
res = r.filter_tags(["resource2", "resource3"], ["a resource"], 0, 999999999)
is_success(desc, res)
r.test_print(desc, len(r.json.loads(res.content)['resources']) == 1)
r.test_print(desc, r.json.loads(res.content)['resources'][0]['resource_id'] == resource3)

desc = "### Check behavior with empty included tags ###"
res = r.filter_tags([], ["a resource"], 0, 999999999)
is_success(desc, res)
r.test_print(desc, len(r.json.loads(res.content)['resources']) == 2)
r.test_print(desc, r.json.loads(res.content)['resources'][1]['resource_id'] == resource3)

desc = "### Add permission to root folder & one resource to non_admin user ###"
res = r.get_groups()
is_failure(desc, res)

desc = "### test that resource cannot be updated w/ no permissions ###"
res = r.update_resource(restricted_id1, "s", "s", "free")
is_failure(desc, res)

""" ---login as admin--- """
r.session = admin_session

desc = '### confirm restricted1 on reservation w/ two restricted resources ###'
res = r.confirm_resource_reservation(restricted_id2, r2r1_id)
is_success(desc, res)
desc = '### make sure overlapping reservation was not deleted yet ###'
res = r.get_reservations_by_resources([restricted_id1])
is_success(desc, res)
test_print(desc, len(r.json.loads(res.content)['results']) == 3)

desc = '### confirm other resource on same resource ###'
res = r.confirm_resource_reservation(restricted_id1, r2r1_id)
is_success(desc, res)

desc = '### make sure overlapping reservations were deleted ###'
res = r.get_reservations_by_resources([restricted_id1, restricted_id2])
test_print(desc, len(r.json.loads(res.content)['results']) == 2)

desc = "### make sure you can't deny an already confirmed reservation ###"
res = r.deny_resource_reservation(restricted_id1, r2r1_id)
is_failure(desc, res)

desc = "### test that resource can be changed once conflicts are resolved ###"
res = r.update_resource(restricted_id1, "s", "s", "free")
import requester as r
import time
from requester import test_print

r.verify = False

r.initialize_and_clear_tables()

admin_session = r.session

desc =  '#### create 2 more users ####' 
res = r.create_user('rahul', 'rahul123')
test_print(desc, res.status_code < 300)
rahul_user_id = r.json.loads(res.content)['insertId']

res = r.create_user('ashwin', 'ashwin123')
test_print(desc, res.status_code < 300)
ashwin_user_id = r.json.loads(res.content)['insertId']

desc =  '#### get all users in DB, make sure there are 3 now and that the second username == rahul ####'
res = r.get_all_users()
test_print(desc, len(r.json.loads(res.content)['results']) == 3)
test_print(desc, r.json.loads(res.content)['results'][1]['username'] == 'rahul')

desc =  '#### create 2 groups ####'
res = r.create_group("group1", "nope", True, True, True, False)
test_print(desc, res.status_code < 300)
test_print(desc, res.content)
group_id1 = r.json.loads(res.content)['results']['insertId']

res = r.create_group("group2", "nope", True, True, True, False)
Example #7
0
import requester as r
import time
from requester import test_print

r.verify = False

r.initialize_and_clear_tables()

admin_session = r.session

desc = '#### update admin user to have new email ####'
res = r.update_user(username="******",email_address="*****@*****.**")
test_print(desc, res.status_code < 300)

desc = '#### create API token ####'
res = r.get_api_token()
test_print(desc, res.status_code < 300)
token = r.json.loads(res.content)['results']['token']
test_print(desc, token != None)

#r.headers['Auth-Token'] = token

desc = '#### get current user ####'
res = r.get_user()
test_print(desc, r.json.loads(res.content)['results']['username'] == 'admin')

desc = '#### get all users in DB, make sure theres only 1 and that the username == admin ####'
res = r.get_all_users()
test_print(desc, len(r.json.loads(res.content)['results']) == 1)
test_print(desc, r.json.loads(res.content)['results'][0]['email_address'] == '*****@*****.**')
import requester as r
import time
from requester import test_print

r.verify = False

r.initialize_and_clear_tables()

admin_session = r.session

root_resource_id = 1

desc = '#### create two folders ####'
res = r.create_resource("folder1", "folder1", 'free', 1000, 1, 1)
test_print(desc, res.status_code < 300)
folder_id1 = r.json.loads(res.content)['insertId']

res = r.create_resource("folder2", "folder2", 'free', 1000, 1, 1)
test_print(desc, res.status_code < 300)
folder_id2 = r.json.loads(res.content)['insertId']

desc = '#### create 4 resources ####'
res = r.create_resource("res1", "res1", 'free', 1000, 0, folder_id1)
test_print(desc, res.status_code < 300)
resource_id1 = r.json.loads(res.content)['insertId']

res = r.create_resource("res2", "res2", 'free', 1000, 0, folder_id2)
test_print(desc, res.status_code < 300)
resource_id2 = r.json.loads(res.content)['insertId']

res = r.create_resource("res3", "res3", 'free', 1000, 0, folder_id1)
import requester as r
import time
from requester import test_print

r.verify = False

r.initialize_and_clear_tables()

admin_session = r.session

root_resource_id = 1

desc = '#### create two folders ####'
res = r.create_resource("folder1", "folder1", 'free', 1000, 1, 1)
test_print(desc, res.status_code < 300)
folder_id1 = r.json.loads(res.content)['insertId']

res = r.create_resource("folder2", "folder2", 'free', 1000, 1, 1)
test_print(desc, res.status_code < 300)
folder_id2 = r.json.loads(res.content)['insertId']

desc = '#### create 4 resources ####'
res = r.create_resource("res1", "res1", 'free', 1000, 0, folder_id1)
test_print(desc, res.status_code < 300)
resource_id1 = r.json.loads(res.content)['insertId']

res = r.create_resource("res2", "res2", 'free', 1000, 0, folder_id2)
test_print(desc, res.status_code < 300)
resource_id2 = r.json.loads(res.content)['insertId']

res = r.create_resource("res3", "res3", 'free', 1000, 0, folder_id1)