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"
Exemple #4
0
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"
Exemple #8
0
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
Exemple #10
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???