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
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
def test_post_missing_args(): response = POST('/groups') assert response.status_code == 400 res = GET('/groups') assert res.status_code == 200 assert res.json() == []
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'] == ""
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() == []
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'] == ""
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
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
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')
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
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
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
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
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
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
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
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
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
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
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
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')
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
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
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
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')
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