def test_list_submissions_dabs_non_admin(self):
        """ Test with DABS submissions for a non admin user. """
        self.login_user()
        response = self.app.post_json(
            '/v1/list_submissions/', {'published': 'mixed'},
            headers={'x-session-id': self.session_id})
        self.assertEqual(self.sub_ids(response),
                         {self.non_admin_dabs_sub_id, self.admin_dabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.non_admin_dabs_sub_id).updated_at))

        response = self.app.post_json(
            '/v1/list_submissions/', {'published': 'false'},
            headers={'x-session-id': self.session_id})
        self.assertEqual(self.sub_ids(response),
                         {self.non_admin_dabs_sub_id, self.admin_dabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.non_admin_dabs_sub_id).updated_at))

        response = self.app.post_json(
            '/v1/list_submissions/', {'published': 'true'},
            headers={'x-session-id': self.session_id})
        self.assertEqual(self.sub_ids(response), set())
        self.assertEqual(response.json['min_last_modified'], None)
Beispiel #2
0
    def test_list_submissions_dabs_non_admin(self):
        """ Test with DABS submissions for a non admin user. """
        self.login_user()
        response = self.app.post_json(
            "/v1/list_submissions/", {"certified": "mixed"},
            headers={"x-session-id": self.session_id})
        self.assertEqual(self.sub_ids(response),
                         {self.non_admin_dabs_sub_id, self.admin_dabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.non_admin_dabs_sub_id).updated_at))

        response = self.app.post_json(
            "/v1/list_submissions/", {"certified": "false"},
            headers={"x-session-id": self.session_id})
        self.assertEqual(self.sub_ids(response),
                         {self.non_admin_dabs_sub_id, self.admin_dabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.non_admin_dabs_sub_id).updated_at))

        response = self.app.post_json(
            "/v1/list_submissions/", {"certified": "true"},
            headers={"x-session-id": self.session_id})
        self.assertEqual(self.sub_ids(response), set())
        self.assertEqual(response.json['min_last_modified'], None)
Beispiel #3
0
    def test_list_submissions_dabs_admin(self):
        """ Test with DABS submissions for an admin user. """
        response = self.app.post_json(
            "/v1/list_submissions/", {"certified": "mixed"},
            headers={"x-session-id": self.session_id})
        self.assertEqual(
            self.sub_ids(response), {
                self.non_admin_dabs_sub_id, self.admin_dabs_sub_id,
                self.certified_dabs_sub_id
            })
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.non_admin_dabs_sub_id).updated_at))

        response = self.app.post_json(
            "/v1/list_submissions/", {"certified": "false"},
            headers={"x-session-id": self.session_id})
        self.assertEqual(self.sub_ids(response),
                         {self.non_admin_dabs_sub_id, self.admin_dabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.non_admin_dabs_sub_id).updated_at))

        response = self.app.post_json(
            "/v1/list_submissions/", {"certified": "true"},
            headers={"x-session-id": self.session_id})
        self.assertEqual(self.sub_ids(response), {self.certified_dabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(datetime.strptime(self.MAX_UPDATED_AT, '%m/%d/%Y')))
    def test_list_submissions_filter_id(self):
        """ Test listing submissions with a submission_id filter applied. """
        # Listing only the relevant submissions, even when an ID is provided that can't be reached
        post_json = {
            'published': 'mixed',
            'filters': {
                'submission_ids':
                [self.non_admin_dabs_sub_id, self.admin_fabs_sub_id]
            }
        }
        response = self.app.post_json(
            '/v1/list_submissions/',
            post_json,
            headers={'x-session-id': self.session_id})
        self.assertEqual(self.sub_ids(response), {self.non_admin_dabs_sub_id})

        self.login_user()
        # Not returning a result if the user doesn't have access to the submission
        post_json['filters'] = {'submission_ids': [self.certified_dabs_sub_id]}
        response = self.app.post_json(
            '/v1/list_submissions/',
            post_json,
            headers={'x-session-id': self.session_id})
        self.assertEqual(self.sub_ids(response), set())
        # Proving that filters don't affect min last modified
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.non_admin_dabs_sub_id).updated_at))
    def test_list_submissions_fabs_admin(self):
        """ Test with FABS submissions for an admin user. """
        response = self.app.post_json(
            '/v1/list_submissions/', {
                'published': 'mixed',
                'fabs': True
            },
            headers={'x-session-id': self.session_id})
        self.assertEqual(
            self.sub_ids(response), {
                self.non_admin_fabs_sub_id, self.admin_fabs_sub_id,
                self.published_fabs_sub_id
            })
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.published_fabs_sub_id).updated_at))

        response = self.app.post_json(
            '/v1/list_submissions/', {
                'published': 'false',
                'fabs': True
            },
            headers={'x-session-id': self.session_id})
        self.assertEqual(self.sub_ids(response),
                         {self.non_admin_fabs_sub_id, self.admin_fabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.non_admin_fabs_sub_id).updated_at))

        response = self.app.post_json(
            '/v1/list_submissions/', {
                'published': 'true',
                'fabs': True
            },
            headers={'x-session-id': self.session_id})
        self.assertEqual(self.sub_ids(response), {self.published_fabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.published_fabs_sub_id).updated_at))
Beispiel #6
0
    def test_list_submissions_fabs_admin(self):
        """ Test with FABS submissions for an admin user. """
        response = self.app.post_json(
            "/v1/list_submissions/", {
                "certified": "mixed",
                "fabs": True
            },
            headers={"x-session-id": self.session_id})
        self.assertEqual(
            self.sub_ids(response), {
                self.non_admin_fabs_sub_id, self.admin_fabs_sub_id,
                self.published_fabs_sub_id
            })
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.published_fabs_sub_id).updated_at))

        response = self.app.post_json(
            "/v1/list_submissions/", {
                "certified": "false",
                "fabs": True
            },
            headers={"x-session-id": self.session_id})
        self.assertEqual(self.sub_ids(response),
                         {self.non_admin_fabs_sub_id, self.admin_fabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.non_admin_fabs_sub_id).updated_at))

        response = self.app.post_json(
            "/v1/list_submissions/", {
                "certified": "true",
                "fabs": True
            },
            headers={"x-session-id": self.session_id})
        self.assertEqual(self.sub_ids(response), {self.published_fabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.published_fabs_sub_id).updated_at))
    def test_list_submissions_fabs_non_admin(self):
        """ Test with FABS submissions for a non admin user. """
        self.login_user()
        response = self.app.post_json(
            '/v1/list_submissions/', {
                'published': 'mixed',
                'fabs': True
            },
            headers={'x-session-id': self.session_id})
        self.assertEqual(self.sub_ids(response),
                         {self.admin_fabs_sub_id, self.published_fabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.published_fabs_sub_id).updated_at))

        response = self.app.post_json(
            '/v1/list_submissions/', {
                'published': 'false',
                'fabs': True
            },
            headers={'x-session-id': self.session_id})
        self.assertEqual(self.sub_ids(response), {self.admin_fabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(datetime.strptime(self.MAX_UPDATED_AT, '%m/%d/%Y')))

        response = self.app.post_json(
            '/v1/list_submissions/', {
                'published': 'true',
                'fabs': True
            },
            headers={'x-session-id': self.session_id})
        self.assertEqual(self.sub_ids(response), {self.published_fabs_sub_id})
        self.assertEqual(
            response.json['min_last_modified'],
            str(
                get_submission(self.session,
                               self.published_fabs_sub_id).updated_at))