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"]
Exemple #2
0
    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))
Exemple #10
0
 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))
Exemple #12
0
    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))
Exemple #13
0
    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))
Exemple #15
0
    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))
Exemple #16
0
 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()))
Exemple #17
0
    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))
Exemple #19
0
    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))
Exemple #20
0
 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))
Exemple #21
0
 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))
Exemple #22
0
 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()
Exemple #23
0
 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))
Exemple #24
0
 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))
Exemple #25
0
 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()))