Exemplo n.º 1
0
def test_user_cannot_modify_any_other_entry(admin_client, user_client,
                                            alt_user_client):
    # alt user schedule entry
    alt_user_rjson = post_schedule(alt_user_client, TEST_SCHEDULE_ENTRY)
    alt_user_entry_name = alt_user_rjson["name"]

    user_adjust_alt_user_response = update_schedule(
        user_client, alt_user_entry_name, TEST_PRIVATE_SCHEDULE_ENTRY)

    # admin user schedule entry
    admin_rjson = post_schedule(admin_client, TEST_PRIVATE_SCHEDULE_ENTRY)
    admin_entry_name = admin_rjson["name"]

    user_adjust_admin_response = update_schedule(user_client, admin_entry_name,
                                                 TEST_SCHEDULE_ENTRY)

    validate_response(user_adjust_alt_user_response, status.HTTP_403_FORBIDDEN)
    # Admin's entry is private, hence 404 instead of 403
    validate_response(user_adjust_admin_response, status.HTTP_404_NOT_FOUND)
Exemplo n.º 2
0
def test_user_can_modify_their_entry(user_client):
    rjson = post_schedule(user_client, TEST_SCHEDULE_ENTRY)
    entry_name = rjson["name"]

    user_adjust_response = update_schedule(user_client, entry_name,
                                           TEST_ALTERNATE_SCHEDULE_ENTRY)

    validate_response(user_adjust_response, status.HTTP_200_OK)
    assert rjson["priority"] == 10
    assert user_adjust_response.data["priority"] == 5
Exemplo n.º 3
0
def test_admin_can_modify_all_entries(admin_client, alt_admin_client):
    # admin user schedule entry
    alt_admin_rjson = post_schedule(alt_admin_client,
                                    TEST_PRIVATE_SCHEDULE_ENTRY)
    alt_admin_entry_name = alt_admin_rjson["name"]

    admin_adjust_alt_admin_response = update_schedule(admin_client,
                                                      alt_admin_entry_name,
                                                      TEST_SCHEDULE_ENTRY)

    validate_response(admin_adjust_alt_admin_response, status.HTTP_200_OK)
Exemplo n.º 4
0
def test_admin_can_modify_all_entries(admin_client, user_client,
                                      alt_admin_client):
    # user schedule entry
    user_rjson = post_schedule(user_client, TEST_SCHEDULE_ENTRY)
    user_entry_name = user_rjson['name']

    admin_adjust_user_response = update_schedule(admin_client, user_entry_name,
                                                 TEST_PRIVATE_SCHEDULE_ENTRY)

    # admin user schedule entry
    alt_admin_rjson = post_schedule(alt_admin_client,
                                    TEST_PRIVATE_SCHEDULE_ENTRY)
    alt_admin_entry_name = alt_admin_rjson['name']

    admin_adjust_alt_admin_response = update_schedule(
        admin_client, alt_admin_entry_name, TEST_SCHEDULE_ENTRY)

    validate_response(admin_adjust_user_response, status.HTTP_200_OK)
    assert admin_adjust_user_response.data['is_private']
    validate_response(admin_adjust_alt_admin_response, status.HTTP_200_OK)
    assert not admin_adjust_alt_admin_response.data['is_private']