r2F_id = get_id(res) desc = '### create reservation on both restricted resources ###' res = r.create_reservation([restricted_id2, restricted_id1], millis, millis4, 't', 'd') is_success(desc, res) r2r1_id = get_id(res) desc = "### test that resource cannot be changed to free while oversubscribed ###" res = r.update_resource(restricted_id1, "s", "s", "free") is_failure(desc, res) """" ---login as non_admin--- """ r.session = non_admin_session desc = '### confirm restricted1 w/ no permissions ###' res = r.confirm_resource_reservation(restricted_id2, r2r1_id) is_failure(desc, res) desc = '### deny restricted resource w/ no permission ###' res = r.deny_resource_reservation(restricted_id1, r2r1_id) 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)
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) desc = "### confirm first resource ###" res = r.confirm_resource_reservation(resource_id1, reservation_id1) is_success(desc, res) desc = "### confirm second resource -- reservations should be deleted" res = r.confirm_resource_reservation(resource_id1, reservation_id2) is_success(desc, res) desc = "### Test that cannot change resource to free and reduce sharing_level when only confirmed overbooked ###" res = r.update_resource(resource_id1, resource_state="free", sharing_level=1) is_failure(desc, res) desc = "### Test that can change resource to free when only confirmed resources ###" res = r.update_resource(resource_id1, resource_state="free") is_success(desc, res) desc = "### Check that three reservations remain (two confirmed, one not overlapping)"
desc = '#### delete resource without tags, reservation should also be deleted ####' res = r.delete_resource(no_tags_id) test_print(desc, res.status_code < 300) desc = "### get all reservations for resource_id and no_tags_id and make sure the no_tags reservation is gone" res = r.get_reservations_by_resources([resource_id, no_tags_id]) test_print (desc, len(r.json.loads(res.content)['results']) == 2) test_print(desc, res.status_code < 300) desc = "### deny request for resource ###" res = r.deny_resource_reservation(restricted_id, reservation_id) test_print(desc, res.status_code < 300) desc = "### confirm request for resource ###" res = r.confirm_resource_reservation(restricted_id, reservation_id2) test_print(desc, res.status_code < 300) r.session = '' desc = '#### create non-admin session ####' session_response = r.login_to_session('rahul', 'rahul123') test_print(desc, session_response.status_code < 300) rahul_session = session_response.cookies desc = "### fail to remove resource from someone else's reservation ###" r.session = rahul_session res = r.remove_resource_from_reservation(reservation_id, [resource_id]) test_print(desc, res.status_code > 300) r.session = admin_session desc = "### remove resource from reservation as reservation owner"