def test_get_all_sessions(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/sessions/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) try: response.json() except ValueError: pytest.fail('Expected Json response body, got {0}.'\ .format(response.json())) if not (type(response.json()) is list): pytest.fail('Expected list, got {0}.'.format(response.json())) assert response.json()[0]["SessionCode"] == "201209" assert response.json()[0]["SessionDescription"] == \ "Fall 12-13 Academic Year" assert response.json()[0]["SessionBeginDate"] == "2012-08-29T00:00:00" assert response.json()[0]["SessionEndDate"] == "2012-12-21T00:00:00" self.url = control.hostURL + 'api/sessions/current/' current = api.get(self.session, self.url) assert response.json()[-2]["SessionCode"] == \ current.json()["SessionCode"] assert response.json()[-2]["SessionDescription"] == \ current.json()["SessionDescription"] assert response.json()[-2]["SessionBeginDate"] == \ current.json()["SessionBeginDate"] assert response.json()[-2]["SessionEndDate"] == \ current.json()["SessionEndDate"]
def test_schedulecontrol_put_privacy(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/schedulecontrol/privacy/N/' response = api.put(self.session, self.url, 'N') if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) self.url = control.hostURL + 'api/schedulecontrol/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) assert response.json()["IsSchedulePrivate"] == False self.url = self.url + 'privacy/Y/' response = api.put(self.session, self.url, 'Y') if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) self.url = control.hostURL + 'api/schedulecontrol/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) assert response.json()["IsSchedulePrivate"] == True
def test_get_one_activity___activity_leader(self): self.session = \ self.createAuthorizedSession(control.leader_username, control.leader_password) self.url = control.hostURL + 'api/activities/AJG/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) try: response.json() except ValueError: pytest.fail('Expected Json response body, got {0}.'\ .format(response.text)) try: response.json()['ActivityCode'] except KeyError: pytest.fail('Expected ACT_CDE in response, got {0}.'\ .format(response.json())) assert response.json()["ActivityCode"] == "AJG" assert response.json()["ActivityDescription"] == \ control.activity_description_AJG assert response.json()["ActivityImagePath"] == \ control.activity_image_path_AJG assert response.json()["ActivityBlurb"] == control.activity_blurb_AJG assert response.json()["ActivityURL"] == control.activity_URL_AJG assert response.json()["ActivityType"] == control.activity_type_AJG assert response.json()["ActivityTypeDescription"] == \ control.activity_type_description_AJG assert response.json()["Privacy"] == True assert response.json( )["ActivityJoinInfo"] == control.activity_join_info_AJG
def test_get_all_activities___Guest(self): self.session = self.createGuestSession() self.url = control.hostURL + 'api/activities/360' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK , got {0}.'\ .format(response.status_code)) try: response.json() except ValueError: pytest.fail('Expected Json response body, got {0}.'\ .format(response.text)) assert response.json()["ActivityCode"] == control.activity_code_360 assert response.json()["ActivityDescription"] == \ control.activity_description_360 assert response.json()["ActivityImagePath"] == \ control.activity_image_path_360 assert response.json()["ActivityBlurb"] == \ control.activity_blurb_360 assert response.json()["ActivityURL"] == control.activity_URL_360 assert response.json()["ActivityType"] == control.activity_type_360 assert response.json()["ActivityTypeDescription"] == \ control.activity_type_description_360 assert response.json()["Privacy"] == False assert response.json()["ActivityJoinInfo"] == \ control.activity_join_info_360
def test_get_all_activities___activity_leader(self): self.session = \ self.createAuthorizedSession(control.leader_username, control.leader_password) self.url = control.hostURL + 'api/activities/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK , got {0}.'\ .format(response.status_code)) try: response.json() except ValueError: pytest.fail('Expected Json response body, got {0}.'\ .format(response.text)) if not (type(response.json()) is list): pytest.fail('Expected list, got {0}.'.format(response.json())) assert response.json()[0]["ActivityCode"] == control.activity_code_360 assert response.json()[0]["ActivityDescription"] == \ control.activity_description_360 assert response.json()[0]["ActivityImagePath"] == \ control.activity_image_path_360 assert response.json()[0]["ActivityBlurb"] == \ control.activity_blurb_360 assert response.json()[0]["ActivityURL"] == control.activity_URL_360 assert response.json()[0]["ActivityType"] == control.activity_type_360 assert response.json()[0]["ActivityTypeDescription"] == \ control.activity_type_description_360 assert response.json()[0]["Privacy"] == False assert response.json()[0]["ActivityJoinInfo"] == \ control.activity_join_info_360
def test_get_activities_for_session_list___activity_leader(self): self.session = \ self.createAuthorizedSession(control.leader_username, control.leader_password) self.url = control.hostURL + 'api/activities/session/201809/types/' self.sessionID = -1 response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'.format(response.json())) try: response.json() except ValueError: pytest.fail('Expected Json response body, got {0}.'\ .format(response.json())) if not (type(response.json()) is list): pytest.fail('Expected list, got {0}.'.format(response.json())) assert "Student Club" == response.json()[6] assert "Scholarship" == response.json()[4] assert "Service Learning Project" == response.json()[5] assert "Student Ministry" == response.json()[10] assert "Athletic Club" == response.json()[0] assert "Leadership Program" == response.json()[1] assert "Music Group" == response.json()[2] assert "Residence Life" == response.json()[3] assert "Student Life" == response.json()[8] assert "Student Organization" == response.json()[11] assert "Theatre Production" == response.json()[12] assert "Student Media" == response.json()[9] assert "Student Government" == response.json()[7]
def test_get_emails_for_activity_404(self): self.session = \ self.createAuthorizedSession(control.leader_username, control.leader_password) self.url = control.hostURL + 'api/emails/activity/thisIsATest' response = api.get(self.session, self.url) if not response.status_code == 404: pytest.fail('Expected 404 Not Found, got {0}.'\ .format(response.status_code))
def test_get_all_chapel_events_fake_term(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/events/chapel/thisIsAFakeTermCode/' response = api.get(self.session, self.url) if not response.status_code == 404: pytest.fail('Expected 404 Not Found, got {0}.'\ .format(response.status_code))
def test_not_get_membership_requests_for_someone_else(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/requests/student/' + str( control.valid_id_number) response = api.get(self.session, self.url) if not response.status_code == 404: pytest.fail('Expected 404 Not Found, got {0}.'.format( response.status_code))
def test_get_memberships_for_an_activity___regular_member(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/memberships/activity/' + control.activity_code_AJG + '/' response = api.get(self.session, self.url) if not response.status_code == 200: warnings.warn("Security fault") pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code))
def test_post_valid_membership_request__as_leader(self): self.session = \ self.createAuthorizedSession(control.leader_username, control.leader_password) self.url = control.hostURL + 'api/requests/' self.data = { 'ACT_CDE': control.activity_code_AJG, 'SESS_CDE': control.session_code, 'ID_NUM': control.my_id_number, 'PART_CDE': 'MEMBR', 'DATE_SENT': '07/06/2016', 'COMMENT_TXT': control.comments } # We will get the actual id when we post. # Setting it -1 to check later that we got an id from the post. self.requestID = -1 response = api.postAsJson(self.session, self.url, self.data) if not response.status_code == 201: pytest.fail('Expected 201 Created, got {0}.'\ .format(response.status_code)) try: response.json() except ValueError: pytest.fail('Expected json response, got {0}.'\ .format(response.text)) #checking if the correctness of post\ self.session = \ self.createAuthorizedSession(control.leader_username, control.leader_password) getResponse = api.get(self.session, control.hostURL + \ 'api/requests/activity/' + str(control.activity_code_AJG)) self.requestID = response.json()['REQUEST_ID'] req = getResponse.json() found = False for dic in req: reqID = dic['RequestID'] if (reqID == self.requestID): found = True try: assert dic['ActivityCode'] == control.activity_code_AJG assert dic['SessionCode'] == control.session_code assert dic['IDNumber'] == control.my_id_number except ValueError: pytest.fail('Expected Json response body, got{0}.'\ .format(getResponse.json())) if not found: pytest.fail('requestID not found:', self.requestID) #try: # self.requestID = response.json()['REQUEST_ID'] # if not response.json()['STATUS'] == REQUEST_STATUS_PENDING: # pytest.fail('Expected Pending status , got {0}.'.format(resposne.json())) # except KeyError: # pytest.fail('Expected REQUEST_ID in response body, got {0}.'.format(response.json())) # We try to delete the request we created if self.requestID >= 0: api.delete(self.session, self.url + str(self.requestID))
def test_get_application_user_not_found(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/housing/apartment' response = api.get(self.session, self.url) if not response.status_code == 404: pytest.fail('Expected 404 Not Found, got {0}.'\ .format(response.status_code))
def test_get_apartment_halls(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/housing/halls/apartments' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code))
def test_get_news_category_faculty(self): self.session = self.createAuthorizedSession(control.leader_username, control.leader_password) self.url = control.hostURL + 'api/news/category/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code))
def test_get_all_memberships___regular_member(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/memberships/' response = api.get(self.session, self.url) if not response.status_code == 401: pytest.fail('Expected 401 Unauthorized, got {0}.'\ .format(response.status_code))
def test_post_new_leader_membership_for_someone___activity_leader(self): self.session = \ self.createAuthorizedSession(control.leader_username, control.leader_password) self.url = control.hostURL + 'api/memberships/' self.createdMembershipID = -1 # Add a new leader self.data = { 'ACT_CDE': control.activity_code_AJG, 'SESS_CDE': control.session_code, 'ID_NUM': control.valid_id_number, 'PART_CDE': 'LEAD', 'BEGIN_DTE': control.begin_date, 'END_DTE': control.end_date, 'COMMENT_TXT': control.comments } response = api.postAsJson(self.session, self.url, self.data) if not response.status_code == 201: pytest.fail('Expected 201, got {0}.'.format(response.status_code)) try: response.json() except ValueError: pytest.fail('Expected Json response body, got {0}.'\ .format(response.text)) try: self.createdMembershipID = response.json()['MEMBERSHIP_ID'] if self.createdMembershipID < 0: # The creation was not successful pytest.fail('Expected valid memberhsip ID, got {0}.'\ .format(self.createdMembershipID)) else: #checking if the correctness of post getResponse = api.get(self.session, control.hostURL + \ 'api/memberships/activity/' + str(control.activity_code_AJG)) self.membershipID = response.json()['MEMBERSHIP_ID'] req = getResponse.json() found = False for dic in req: reqID = dic['MembershipID'] if (reqID == self.membershipID): found = True try: assert dic[ 'ActivityCode'] == control.activity_code_AJG assert dic['SessionCode'] == control.session_code assert dic['IDNumber'] == control.valid_id_number except ValueError: pytest.fail('Expected Json response body, got{0}.'\ .format(getResponse.json)) if not found: pytest.fail('MembershipID not found:', self.membershipID) d = api.delete(self.session, self.url + \ str(self.createdMembershipID)) if not d.status_code == 200: pytest.fail('Error in cleanup. Expected , got {0}.'\ .format(d.status_code)) except KeyError: pytest.fail('Expected MEMBERSHIP ID in response, got {0}.'\ .format(response.json()))
def test_not_on_whitelist(self): self.session = self.createAuthorizedSession(control.username, control.password) # the test user should not be an admin unless it is added in one of these tests self.url = control.hostURL + 'api/housing/admin' response = api.get(self.session, self.url) if not response.status_code == 404: pytest.fail('Expected 404 Not Found, got {0}.'\ .format(response.status_code))
def test_not_get_all_membership_requests(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/requests/' response = api.get(self.session, self.url) if not response.status_code == 401: pytest.fail('Expected 401 Unauthorized, got {0}.'\ .format(response.status_code)) if response.text: pytest.fail('Expected empty response body, got {0}.'\ .format(response.text))
def test_post_new_membership_for_someone___activity_leader(self): self.session = \ self.createAuthorizedSession(control.leader_username, control.leader_password) self.url = control.hostURL + 'api/memberships/' self.createdMembershipID = -1 # Add a new participant self.data = { 'ACT_CDE': control.activity_code_AJG, 'SESS_CDE': control.session_code, 'ID_NUM': control.valid_id_number, 'PART_CDE': 'MEMBR', 'BEGIN_DTE': '06/10/2016', 'END_DTE': '07/16/2016', 'COMMENT_TXT': control.comments } response = api.postAsJson(self.session, self.url, self.data) if not response.status_code == 201: pytest.fail('Expected 201 Created, got {0}.'\ .format(response.status_code)) try: response.json() except ValueError: pytest.fail('Expected Json response body, got {0}.'\ .format(response.text)) try: self.createdMembershipID = response.json()['MEMBERSHIP_ID'] except KeyError: pytest.fail('Expected MEMBERSHIP ID in response, got {0}.'\ .format(response.json())) #checking the correctness of post getResponse = api.get(self.session, control.hostURL + \ 'api/memberships/activity/' + str(control.activity_code_AJG)) self.membershipID = response.json()['MEMBERSHIP_ID'] req = getResponse.json() found = False for dic in req: reqID = dic['MembershipID'] if (reqID == self.membershipID): found = True try: assert dic['ActivityCode'] == control.activity_code_AJG assert dic['SessionCode'] == control.session_code assert dic['IDNumber'] == control.valid_id_number except ValueError: pytest.fail('Expected Json response body, got{0}.'\ .format(getResponse.json)) if not found: pytest.fail('requestID not found: {0}.'.format(response.json())) if self.createdMembershipID >= 0: api.delete(self.session, self.url + str(self.createdMembershipID))
def test_get_image(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/profiles/image/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) try: response.json() except ValueError: pytest.fail('Expected Json response body, got{0}.'\ .format(response.text))
def test_get_guest_my_profile(self): self.session = self.createGuestSession() self.url = control.hostURL + 'api/profiles/' response = api.get(self.session, self.url) if not response.status_code == 401: pytest.fail('Expected 401 OK, got {0}.'\ .format(response.status_code)) try: assert response.json()['Message'] == control.AUTHORIZATION_DENIED except ValueError: pytest.fail('Expected Json response body, got {0}.'\ .format(response.text))
def test_get_search_by_string(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/accounts/search/' + control.searchString + '/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) try: response.json() except ValueError: pytest.fail('Expected Json response body, got {0}.'\ .format(response.text)) assert response.json()[0]["FirstName"].lower() == control.searchString.lower()
def test_get_profile_by_username(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/profiles/' + control.leader_username +'/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) try: assert response.json()['AD_Username'] == '360.FacultyTest' assert "ID" not in response.json() except ValueError: pytest.fail('Expected Json response body, got{0}.'\ .format(response.text))
def test_get_my_profile(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/profiles/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) try: assert response.json()['AD_Username'] == '360.StudentTest' assert response.json()['ID'] == '999999097' except ValueError: pytest.fail('Expected Json response body, got {0}.'\ .format(response.text))
def test_put_mobile_privacy(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/profiles/mobile_privacy/Y/' self.data = { 'IsMobilePhonePrivate': 'Y' } response = api.put(self.session, self.url, self.data) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) profile_url = control.hostURL + 'api/profiles/' check_response = api.get(self.session,profile_url) assert check_response.json()['IsMobilePhonePrivate'] == 1 self.url = control.hostURL + 'api/profiles/mobile_privacy/N/' self.resetdata = { 'IsMobilePhonePrivate': 'N' } d = api.put(self.session, self.url, self.resetdata) if not d.status_code == 200: pytest.fail('There was a problem performing cleanup') check_response = api.get(self.session,profile_url) assert check_response.json()['IsMobilePhonePrivate'] == 0
def test_get_all_admin_as_student(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/admins/' response = api.get(self.session, self.url) if not response.status_code == 401: pytest.fail('Expected 401 Unauthorized Error, got {0}.'\ .format(response.status_code)) try: assert response.json()['Message'] == control.AUTHORIZATION_DENIED except ValueError: pytest.fail('Expected Json response body, got{0}.'\ .format(response.text))
def test_get_all_schedule_objects_of_user(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/schedule/' + control.leader_username + '/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) try: response.json() except ValueError: pytest.fail('Expected Json, got {0}.'.format(response.text)) assert response.json()[0]["GORDON_ID"] == str(control.leader_id_number)
def test_get_news_not_expired_guest(self): self.session = self.createGuestSession() self.url = control.hostURL + 'api/news/not-expired/' response = api.get(self.session, self.url) if not response.status_code == 401: pytest.fail('Expected 401 Unauthorized Error, got {0}.'\ .format(response.status_code)) try: assert response.json()['Message'] == control.AUTHORIZATION_DENIED except ValueError: pytest.fail('Expected Json response body, got{0}.'\ .format(response.text))
def test_get_news_new_student(self): self.session = self.createAuthorizedSession(control.username, control.password) self.url = control.hostURL + 'api/news/new/' response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'\ .format(response.status_code)) if not (type(response.json()) is list): warnings.warn("Response is not a list.") if not response.json(): print("Find out the content to add")
def test_get_closed_activities_for_session___activity_leader(self): self.session = \ self.createAuthorizedSession(control.leader_username, control.leader_password) self.url = control.hostURL + 'api/activities/' + control.session_code + '/open/' self.sessionID = -1 response = api.get(self.session, self.url) if not response.status_code == 200: pytest.fail('Expected 200 OK, got {0}.'.format(response.json())) try: response.json() except ValueError: pytest.fail('Expected string response body, got {0}.'\ .format(response.json()))