def test_default_health_is_3():
    POST('/classes?className=testClass')
    POST('/groups?name=testGroup&className=testClass&channel=testChannel')

    resp = GET('/group/health/testGroup')
    assert resp.status_code == 200
    assert resp.json()['result'] == 3
Esempio n. 2
0
def test_delete_propagate():
    #Create class
    POST('/classes?className=test_class')
    #Create group in this class
    response = POST(
        '/groups?name=test_group&className=test_class&channel=test_channel')
    assert response.status_code == 200
    #Create student
    POST(
        '/students?firstName=test_firstName&lastName=test_lastName&directory_id=test_directory_id&uid=0'
    )
    #Add student to group
    POST('/student/uid/0/group/test_group')

    response = DELETE('/classes?className=test_class')
    assert response.status_code == 204

    #Class was deleted
    assert len(GET('/classes').json()) == 0
    #Group was deleted
    assert len(GET('/groups').json()) == 0
    #Group was removed from student teams
    assert GET('/groups/student/uid/0').status_code == 404
    #Slack Data was deleted
    assert GET('/slackData/group/test_group').status_code == 404
    #ELMS Data was deleted
    assert GET('/elmsData/student/uid/0/class/test_class').status_code == 404
Esempio n. 3
0
def test_post_missing_args():
    response = POST('/groups')
    assert response.status_code == 400

    res = GET('/groups')
    assert res.status_code == 200
    assert res.json() == []
Esempio n. 4
0
def test_put_bad_file():
    POST('/classes?className=test_class')
    POST(
        '/students?firstName=test_firstName&lastName=test_lastName&directoryId=test_directory_id&uid=0'
    )
    POST('/groups?name=test_group&className=test_class&channel=test_channel')
    POST('/student/uid/0/group/test_group')

    #No file
    response = PUT(
        '/elmsData/student/directoryId/test_directory_id/class/test_class')
    assert response.status_code == 400

    response = GET(
        '/elmsData/student/directoryId/test_directory_id/class/test_class')
    assert response.status_code == 200
    assert response.json() is not None and response.json()['result'] == ""

    #Misnamed file
    response = response = PUT(
        '/elmsData/student/directoryId/test_directory_id/class/test_class',
        file='files/messages.csv',
        attachment_name='bad_name')
    assert response.status_code == 400

    response = GET(
        '/elmsData/student/directoryId/test_directory_id/class/test_class')
    assert response.status_code == 200
    assert response.json() is not None and response.json()['result'] == ""
Esempio n. 5
0
def test_no_groups():
    POST('/classes?className=test_class')
    POST('/groups?name=test_group&className=test_class&channel=test_channel')

    response = GET('/groups/red')
    assert response.status_code == 200
    assert response.json() == []
Esempio n. 6
0
def test_get_empty():
    #Create class
    POST('/classes?className=test_class')
    #Create group in this class
    POST('/groups?name=test_group&className=test_class&channel=test_channel')

    response = GET('/slackData/group/test_group')
    assert response.status_code == 200
    assert response.json() is not None and response.json()['result'] == ""
Esempio n. 7
0
def test_red_groups():
    POST('/classes?className=test_class')
    POST('/groups?name=test_group&className=test_class&channel=test_channel')

    PUT('/group/health/test_group?groupHealth=1')

    response = GET('/groups/red')
    assert response.status_code == 200
    assert len(response.json()) == 1
def test_update_health_arg():
    POST('/classes?className=testClass')
    POST('/groups?name=testGroup&className=testClass&channel=testChannel')

    resp = PUT('/group/health/testGroup?groupHealth=2')
    assert resp.status_code == 204
    health = GET('/group/health/testGroup')

    assert health.status_code == 200
    assert health.json()['result'] == 2
Esempio n. 9
0
def test_one_group():
    POST('/classes?className=test_class')
    POST('/groups?name=test_group&className=test_class&channel=test_channel')
    POST(
        '/students?firstName=test_firstName&lastName=test_lastName&directoryId=test_directory_id&uid=0'
    )
    POST('/student/uid/0/group/test_group')
    response = GET('/groups/student/uid/0')
    assert response.status_code == 200
    len(response.json()) == 1
Esempio n. 10
0
def test_post_already_student():
    DELETE('/clear')
    POST('/students?firstName=test_first_name&lastName=test_name&directoryId=test_directoryId&uid=0')

    response = POST('/student/directoryId/test_directoryId?uid=0')
    assert response.status_code == 400

    response = GET('/student/directoryId/test_directoryId')
    assert response.status_code == 200

    response = GET('/students')
Esempio n. 11
0
def test_SQLinjection():
    #Can we trust the session to check?
    POST('/classes?className=test_class')
    POST('/groups?name=test_group&className=test_class&channel=test_channel')

    maliciousQuery = "test_group; DELETE FROM GROUPS WHERE name=test_group;"

    response = GET('/group/health/' + maliciousQuery)

    response = GET('/groups')
    assert len(response.json()) == 1
Esempio n. 12
0
def test_get_empty():
    POST('/classes?className=test_class')
    POST(
        '/students?firstName=test_firstName&lastName=test_lastName&directoryId=test_directory_id&uid=0'
    )
    POST('/groups?name=test_group&className=test_class&channel=test_channel')
    POST('/student/uid/0/group/test_group')

    response = GET(
        '/elmsData/student/directoryId/test_directory_id/class/test_class')
    assert response.status_code == 200
    assert response.json() is not None and response.json()['result'] == ""
def test_student_in_one_group():
    POST('/students?firstName=testFirst&lastName=testLast&directoryId=testId&uid=0')
    POST('/classes?className=testClass')
    POST('/groups?name=testGroup&className=testClass&channel=testChannel')

    POST('/student/uid/0/group/testGroup')

    resp = GET('/groups/student/directoryId/testId')
    assert resp.status_code == 200

    assert resp.json()[0]['name'] == 'testGroup'
    assert len(resp.json()) == 1
Esempio n. 14
0
def test_data_propagate():
    POST('/classes?className=test_class')
    POST('/groups?name=test_group&className=test_class&channel=test_channel')
    POST('/students?firstName=test_firstName&lastName=test_lastName&directoryId=test_directory_id&uid=0')

    POST('/student/directoryId/test_directory_id/group/test_group')

    #ELMS Data was inserted
    assert GET('/elmsData/student/uid/0/class/test_class').status_code == 200

    DELETE('/student/directoryId/test_directory_id')

    #ELMS Data was deleted
    assert GET('/elmsData/student/uid/0/class/test_class').status_code == 404
Esempio n. 15
0
def test_get_good_directoryId():
    DELETE('/clear')
    POST('/students?firstName=test_firstName&lastName=test_lastName&directoryId=test_directory_id&uid=0')
    response = GET('/student/directoryId/test_directory_id')
    print(response.text)

    assert response.status_code == 200
Esempio n. 16
0
def test_get_bad_UID_letters():
    POST(
        '/students?firstName=test_first_name&lastName=test_last_name&directoryId=test_directoryId&uid=0'
    )

    response = GET('/student/uid/a')
    assert response.status_code == 400
Esempio n. 17
0
def test_get_after_delete():
    DELETE('/clear')
    POST('/students?firstName=test_firstName&lastName=test_lastName&directoryId=test_directory_id&uid=0')
    DELETE('/student/uid/0')
    response = GET('/student/directoryId/test_directory_id')

    assert response.status_code == 404
Esempio n. 18
0
def test_post_duplicate():
    POST('/classes?className=test_class')
    response = POST('/classes?className=test_class')

    assert response.status_code == 400
    response = GET('/classes')
    classList = response.json()
    assert len(classList) == 1
def test_single_add():
    POST('/classes?className=testClass')
    POST('/groups?name=testGroup&className=testClass&channel=testChannel')
    POST(
        '/students?firstName=testFirst&lastName=testLast&directoryId=testId&uid=0'
    )
    POST('/student/directoryId/testId/group/testGroup')

    resp = GET('/students/group/testGroup')
    assert resp.status_code == 200
    students = resp.json()

    assert len(students) == 1
    assert students[0]['firstName'] == 'testFirst'
    assert students[0]['lastName'] == 'testLast'
    assert students[0]['directoryId'] == 'testId'
    assert students[0]['uid'] == 0
Esempio n. 20
0
def test_get_good_UID():

    POST(
        '/students?firstName=test_first_name&lastName=test_last_name&directoryId=test_directoryId&uid=0'
    )

    response = GET('/student/uid/0')
    assert response.status_code == 200
Esempio n. 21
0
def test_put_bad_group():
    POST('/classes?className=test_class')
    POST('/students?firstName=test_firstName&lastName=test_lastName&directoryId=test_directory_id&uid=0')
    POST('/groups?name=test_group&className=test_class&channel=test_channel')
    POST('/student/uid/0/group/test_group')

    response = GET('/elmsData/student/uid/0/class/not_a_class')
    assert response.status_code == 404
Esempio n. 22
0
def test_delete_good_UID_in_group():

    POST('/classes?className=test_class')
    POST('/groups?name=test_group&className=test_class&channel=test_channel')
    POST(
        '/students?firstName=test_first_name&lastName=test_last_name&directoryId=test_directoryId&uid=0'
    )
    POST('/student/uid/0/group/test_group')

    response = GET('/student/uid/0')
    assert response.status_code == 200

    response = DELETE('/student/uid/0')
    assert response.status_code == 204

    response = GET('/student/uid/0')

    assert response.status_code == 404
Esempio n. 23
0
def test_delete_propagate():
    POST('/classes?className=test_class')
    POST('/groups?name=test_group&className=test_class&channel=test_channel')

    response = DELETE('/groups?name=test_group')
    assert response.status_code == 204
    
    response = GET('/slackData/group/test_group')
    assert response.status_code == 404
Esempio n. 24
0
def test_duplicate_uid():
    POST('/students?firstName=testFirst&lastName=testLast&directoryId=testId&uid=0')
    resp = POST('/students?firstName=testFirst&lastName=testLast&directoryId=testId1&uid=0')

    assert resp.status_code == 400
    students = GET('/students').json()
    assert len(students) == 1

    DELETE('/student/uid=0')
Esempio n. 25
0
def test_post_duplicate():
    POST('/classes?className=test_class')
    POST('/groups?name=test_group&className=test_class&channel=test_channel')
    response =  POST('/groups?name=test_group&className=test_class&channel=test_channel')

    assert response.status_code == 400
    response = GET('/groups')
    groupList = response.json()
    assert len(groupList) == 1
Esempio n. 26
0
def test_missing_uid_args():
    resp = POST('/students?firstName=testFirst&lastName=testLast&directoryId=testId')
    assert resp.status_code == 200
    students = GET('/students').json()
    assert len(students) == 1

    assert students[0]['uid'] == None

    DELETE('/student/directoryId=testId')
def test_post_delete_basic():
    POST('/classes?className=test_class')
    POST('/groups?name=test_group&className=test_class&channel=test_channel')
    POST(
        '/students?firstName=test_firstName&lastName=test_lastName&directoryId=test_directory_id&uid=0'
    )

    response = POST('/student/directoryId/test_directory_id/group/test_group')
    assert response.status_code == 200

    response = GET('/students/group/test_group')
    assert len(response.json()) == 1

    response = DELETE(
        '/student/directoryId/test_directory_id/group/test_group')
    assert response.status_code == 204

    response = GET('/students/group/test_group')
    assert response.status_code == 200
    assert len(response.json()) == 0
Esempio n. 28
0
def test_double_delete_directoryId():
    DELETE('/clear')
    POST('/students?firstName=test_first_name&lastName=test_last_name&directoryId=test_directoryId&uid=0')
    response = DELETE('/student/directoryId/test_directoryId')
    assert response.status_code == 204

    response = GET('/student/directoryId/test_directoryId')
    assert response.status_code == 404

    response = DELETE('/student/directoryId/test_directoryId')
    assert response.status_code == 404
Esempio n. 29
0
def test_duplicate_name():
    POST('/students?firstName=testFirst&lastName=testLast&directoryId=testId&uid=0')
    resp = POST('/students?firstName=testFirst&lastName=testLast&directoryId=testId1&uid=1')
    assert resp.status_code == 200
    students = GET('/students').json()

    assert len(students) == 2
    assert students[0]['firstName'] == students[1]['firstName']
    assert students[0]['lastName'] == students[1]['lastName']

    DELETE('/student/uid/0')
    DELETE('/student/uid/1')
Esempio n. 30
0
def test_put_get_basic():
    #Create class
    POST('/classes?className=test_class')
    #Create group in this class
    POST('/groups?name=test_group&className=test_class&channel=test_channel')

    p = '/Users/stschoberg/Desktop/435/questmetrics/QUESTmetrics/tests/files/messages.csv'
    response = POST('/slackData/group/test_group?filePath={}'.format(p))
    assert response.status_code == 200

    response = GET('/slackData/group/test_group')
    assert response.status_code == 200
    assert len(response.json()) == 1163