def test_delete_needs_both_params(app, clear_database): # noqa: F811 with patch.object(BaseHandler, "get_current_user", return_value=user_kiz_instructor): r = yield async_requests.delete(app.url + "/assignment") response_data = r.json() assert response_data["success"] is False assert response_data[ "note"] == "Unreleasing an Assigment requires a course code and an assignment code"
def test_delete_wrong_course_blocked(app, clear_database): # noqa: F811 with patch.object(BaseHandler, "get_current_user", return_value=user_kiz_instructor): r = yield async_requests.delete( app.url + "/assignment?course_id=course_1&assignment_id=assign_a") assert r.status_code == 200 response_data = r.json() assert response_data["success"] is False assert response_data["note"] == "User not subscribed to course course_1"
def test_delete_student_blocked(app, clear_database): # noqa: F811 with patch.object(BaseHandler, "get_current_user", return_value=user_zik_student): r = yield async_requests.get(app.url + "/assignments?course_id=course_2") r = yield async_requests.delete( app.url + "/assignment?course_id=course_2&assignment_id=assign_a") assert r.status_code == 200 response_data = r.json() assert response_data["success"] is False assert response_data["note"] == "User not an instructor to course course_2"
def test_delete_needs_course(app, clear_database): with patch.object(BaseHandler, "get_current_user", return_value=user_kiz_instructor): r = yield async_requests.delete(app.url + "/assignment?assignment_id=assign_a") assert r.status_code == 200 response_data = r.json() assert response_data["success"] == False assert ( response_data["note"] == "Unreleasing an Assigment requires a course code and an assignment code" )
def test_delete_broken_nbex_user(app, clear_database, caplog): # noqa: F811 with patch.object(BaseHandler, "get_current_user", return_value=user_kiz_instructor): r = yield async_requests.post( app.url + "/assignment?course_id=course_2&assignment_id=assign_a", files=files, ) with patch.object(BaseHandler, "get_current_user", return_value=user_kiz): r = yield async_requests.delete( app.url + "/assignment?course_id=course_2&assignment_id=assign_a", files=files, ) assert r.status_code == 500 assert "Both current_course ('None') and current_role ('None') must have values. User was '1-kiz'" in caplog.text
def test_assignment_missing(app, clear_database): # noqa: F811 with patch.object(BaseHandler, "get_current_user", return_value=user_kiz_instructor): r = yield async_requests.post( app.url + "/assignment?course_id=course_2&assignment_id=assign_a", files=files, ) r = yield async_requests.delete( app.url + "/assignment?course_id=course_2&assignment_id=noexist", files=files, ) assert r.status_code == 200 response_data = r.json() assert response_data["success"] is False assert response_data[ "note"] == "Missing assignment for noexist and course_2, cannot delete"
def test_delete_instructor_delete(app, clear_database): # noqa: F811 with patch.object(BaseHandler, "get_current_user", return_value=user_kiz_instructor): r = yield async_requests.post( app.url + "/assignment?course_id=course_2&assignment_id=assign_a", files=files, ) r = yield async_requests.delete( app.url + "/assignment?course_id=course_2&assignment_id=assign_a", files=files, ) assert r.status_code == 200 response_data = r.json() assert response_data["success"] is True assert response_data[ "note"] == "Assignment 'assign_a' on course 'course_2' marked as unreleased"
def test_delete_multiple_courses_listed_first_wrong_blocked( app, clear_database): with patch.object(BaseHandler, "get_current_user", return_value=user_kiz_instructor): r = yield async_requests.post( app.url + "/assignment?course_id=course_2&assignment_id=assign_a", files=files, ) r = yield async_requests.delete( app.url + "/assignment?course_id=course_1&course_id=course_2&assignment_id=assign_a", files=files, ) assert r.status_code == 200 response_data = r.json() assert response_data["success"] == False assert response_data["note"] == "User not subscribed to course course_1"
def test_delete_assignment10(app, clear_database): # noqa: F811 with patch.object(BaseHandler, "get_current_user", return_value=user_kiz_instructor): r = yield async_requests.post( app.url + "/assignment?course_id=course_2&assignment_id=assign_a", files=files, ) r = yield async_requests.delete( app.url + "/assignment?course_id=course_2&assignment_id=assign_a", files=files, ) r = yield async_requests.get(app.url + "/assignments?course_id=course_2") assert r.status_code == 200 response_data = r.json() assert response_data["success"] is True assert "note" not in response_data # just that it's missing assert len(response_data["value"]) == 0
def test_delete_instructor_purge(app, clear_database): with patch.object(BaseHandler, "get_current_user", return_value=user_kiz_instructor): r = yield async_requests.post( app.url + "/assignment?course_id=course_2&assignment_id=assign_b", files=files, ) r = yield async_requests.delete( app.url + "/assignment?course_id=course_2&assignment_id=assign_b&purge=True", files=files, ) assert r.status_code == 200 response_data = r.json() assert response_data["success"] == True assert ( response_data["note"] == "Assignment 'assign_b' on course 'course_2' deleted and purged from the database" )
def test_delete_needs_user(app): with patch.object(BaseHandler, "get_current_user", return_value={}): r = yield async_requests.delete(app.url + "/assignment") assert r.status_code == 403 # why not 404???