Ignore:
Timestamp:
21 May 2019, 08:02:51 (5 years ago)
Author:
Henrik Bettermann
Message:

Backup deleted graduated student data somewhere else to ease graduated student data migration.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_student.py

    r13314 r15416  
    3030from zope.interface import verify
    3131from zope.schema.interfaces import RequiredMissing
     32from hurry.workflow.interfaces import IWorkflowState
    3233from waeup.kofa.interfaces import IExtFileStore, IFileStoreNameChooser
    3334from waeup.kofa.students.student import (
     
    180181            del_dir, 'media', 'students', '00110', 'A111111',
    181182            'passport_A111111.jpg')
    182 
    183183        # The image was copied over
    184184        self.assertTrue(os.path.isfile(del_img_path))
     
    186186            open(del_img_path, 'rb').read(),
    187187            self.image_contents)
    188 
    189188        # The student data were put into CSV files
    190189        STUDENT_BACKUP_EXPORTER_NAMES = getUtility(
    191190            IStudentsUtils).STUDENT_BACKUP_EXPORTER_NAMES
    192 
     191        for name in STUDENT_BACKUP_EXPORTER_NAMES:
     192            csv_path = os.path.join(del_dir, '%s.csv' % name)
     193            self.assertTrue(os.path.isfile(csv_path))
     194            contents = open(csv_path, 'rb').read().split('\r\n')
     195            # We expect 3 lines output including a linebreak at end of file.
     196            self.assertEqual(len(contents), 3)
     197        return
     198
     199    def test_backup_single_graduated_data(self):
     200        # when a single graduated student is removed, the data is backed up
     201        # somewhere else
     202        self.setup_student(self.student)
     203        IWorkflowState(self.student).setState('graduated')
     204        # Add a fake image
     205        self.create_passport_img(self.student)
     206        handle_student_removed(self.student, None)
     207        del_dir = self.app['datacenter'].graduated_path
     208        del_img_path = os.path.join(
     209            del_dir, 'media', 'students', '00110', 'A111111',
     210            'passport_A111111.jpg')
     211        # The image was copied over
     212        self.assertTrue(os.path.isfile(del_img_path))
     213        self.assertEqual(
     214            open(del_img_path, 'rb').read(),
     215            self.image_contents)
     216        # The student data were put into CSV files
     217        STUDENT_BACKUP_EXPORTER_NAMES = getUtility(
     218            IStudentsUtils).STUDENT_BACKUP_EXPORTER_NAMES
    193219        for name in STUDENT_BACKUP_EXPORTER_NAMES:
    194220            csv_path = os.path.join(del_dir, '%s.csv' % name)
Note: See TracChangeset for help on using the changeset viewer.