def test_staff_upload_annotated_state(self):
        # pylint: disable=no-member
        """
        Test state recorded in the module state when staff_upload_annotated is called
        """
        block = self.make_one()
        fred = self.make_student(block, "fred1")['module']

        with self.dummy_upload('testa.txt') as (upload, _):
            block.upload_assignment(mock.Mock(params={"assignment": upload}))
        block.finalize_uploaded_assignment(mock.Mock(method="POST"))

        with self.dummy_upload('testb.txt') as (upload, expected):
            request = mock.Mock(params={
                'annotated': upload,
                'module_id': fred.id
            })
            resp = block.staff_upload_annotated(request)
        assert resp.json == block.staff_grading_data()
        state = json.loads(block.get_student_module(fred.id).state)
        assert state['annotated_mimetype'] == 'text/plain'
        parsed_date = parse_timestamp(state['annotated_timestamp'])
        assert is_near_now(parsed_date)
        assert state['annotated_filename'].endswith('testb.txt')
        assert state['annotated_sha1'] == get_sha1(expected)
Beispiel #2
0
    def test_staff_upload_annotated_state(self):
        # pylint: disable=no-member
        """
        Test state recorded in the module state when staff_upload_annotated is called
        """
        block = self.make_one()
        fred = self.make_student(block, "fred1")['module']

        with self.dummy_upload('testa.txt') as (upload, _):
            block.upload_assignment(mock.Mock(params={"assignment": upload}))
        block.finalize_uploaded_assignment(mock.Mock(method="POST"))

        with self.dummy_upload('testb.txt') as (upload, expected):
            request = mock.Mock(params={
                'annotated': upload,
                'module_id': fred.id
            })
            resp = block.staff_upload_annotated(request)
        assert resp.json == block.staff_grading_data()
        state = json.loads(block.get_student_module(fred.id).state)
        assert state['annotated_mimetype'] == 'text/plain'
        parsed_date = parse_timestamp(state['annotated_timestamp'])
        assert is_near_now(parsed_date)
        assert state['annotated_filename'].endswith('testb.txt')
        assert state['annotated_sha1'] == get_sha1(expected)