def test_assignment_snapshot_upgrades(self): good_snapshots = { 'snapshots': [{ 'data': {}, 'datetime': timezone.now().isoformat(), 'type': TaskAssignment.SnapshotType.SUBMIT, 'work_time_seconds': 1 }], '__version': 2 } old_snapshots = { 'snapshots': [ { 'data': {}, # timezone-naive 'datetime': datetime.utcnow().isoformat(), 'type': TaskAssignment.SnapshotType.SUBMIT, }, { 'data': {}, 'datetime': timezone.now().isoformat(), 'type': TaskAssignment.SnapshotType.SUBMIT, 'work_time_seconds': 1 } ] } upgraded_snapshots = deepcopy(old_snapshots) upgraded_snapshots['__version'] = 2 upgraded_snapshots['snapshots'][0]['work_time_seconds'] = 0 upgraded_snapshots['snapshots'][0]['datetime'] += '+00:00' self.assertEquals(load_snapshots(good_snapshots), good_snapshots) self.assertEquals(load_snapshots(old_snapshots), upgraded_snapshots)
def test_assignment_snapshot_upgrades(self): good_snapshots = { 'snapshots': [{ 'data': {}, 'datetime': timezone.now().isoformat(), 'type': TaskAssignment.SnapshotType.SUBMIT, 'work_time_seconds': 1 }], '__version': 2} old_snapshots = { 'snapshots': [ { 'data': {}, # timezone-naive 'datetime': datetime.utcnow().isoformat(), 'type': TaskAssignment.SnapshotType.SUBMIT, }, { 'data': {}, 'datetime': timezone.now().isoformat(), 'type': TaskAssignment.SnapshotType.SUBMIT, 'work_time_seconds': 1 }]} upgraded_snapshots = deepcopy(old_snapshots) upgraded_snapshots['__version'] = 2 upgraded_snapshots['snapshots'][0]['work_time_seconds'] = 0 upgraded_snapshots['snapshots'][0]['datetime'] += '+00:00' self.assertEquals(load_snapshots(good_snapshots), good_snapshots) self.assertEquals(load_snapshots(old_snapshots), upgraded_snapshots)
def task_assignment_post_init(sender, instance, **kwargs): instance.snapshots = load_snapshots(instance.snapshots)