def test_upgrade_step_2(self): event = self.portal["dummy_2"] # Old schema. Values as expected, storage is AnnotationStorage self.assertTrue(event.getTimezone() == "Europe/Vienna") self.assertTrue(event.getRecurrence() == "RRULE:FREQ=DAILY;COUNT=3") self.assertTrue(isinstance(event.getField("timezone").storage, atapi.AnnotationStorage)) self.assertTrue(isinstance(event.getField("recurrence").storage, atapi.AnnotationStorage)) schema = event.schema schema.addField(atapi.StringField("timezone", widget=atapi.StringWidget())) schema.addField(atapi.StringField("recurrence", widget=atapi.StringWidget())) # New schema before upgrade. Empty fields, storage is AttributeStorage self.assertTrue(event.getTimezone() == "") self.assertTrue(event.getRecurrence() == "") self.assertTrue(isinstance(event.getField("timezone").storage, atapi.AttributeStorage)) self.assertTrue(isinstance(event.getField("recurrence").storage, atapi.AttributeStorage)) # Upgrade! upgrade_step_2(self.portal) # New schema after upgrade. Values as expected, storage is # AttributeStorage self.assertTrue(event.getTimezone() == "Europe/Vienna") self.assertTrue(event.getRecurrence() == "RRULE:FREQ=DAILY;COUNT=3") self.assertTrue(isinstance(event.getField("timezone").storage, atapi.AttributeStorage)) self.assertTrue(isinstance(event.getField("recurrence").storage, atapi.AttributeStorage))
def test_upgrade_step_2(self): _dummy_2 = mkDummyInContext(MockATEvent_2, oid='dummy_2', context=self.portal, schema=MockSchema) _dummy_2.title = 'Baz' _dummy_2.setStartDate(DateTime()) _dummy_2.setEndDate(DateTime()) _dummy_2.setTimezone("Europe/Vienna") _dummy_2.setRecurrence("RRULE:FREQ=DAILY;COUNT=3") _dummy_2.reindexObject() event = self.portal['dummy_2'] # Old schema. Values as expected, storage is AnnotationStorage self.assertTrue(event.getTimezone() == 'Europe/Vienna') self.assertTrue(event.getRecurrence() == 'RRULE:FREQ=DAILY;COUNT=3') self.assertTrue(isinstance(event.getField('timezone').storage, atapi.AnnotationStorage)) self.assertTrue(isinstance(event.getField('recurrence').storage, atapi.AnnotationStorage)) schema = event.schema schema.addField( atapi.StringField('timezone', widget=atapi.StringWidget(), ) ) schema.addField( atapi.StringField('recurrence', widget=atapi.StringWidget(), ) ) # New schema before upgrade. Empty fields, storage is AttributeStorage self.assertTrue(event.getTimezone() == '') self.assertTrue(event.getRecurrence() == '') self.assertTrue(isinstance(event.getField('timezone').storage, atapi.AttributeStorage)) self.assertTrue(isinstance(event.getField('recurrence').storage, atapi.AttributeStorage)) # Upgrade! upgrade_step_2(self.portal) # New schema after upgrade. Values as expected, storage is # AttributeStorage self.assertTrue(event.getTimezone() == 'Europe/Vienna') self.assertTrue(event.getRecurrence() == 'RRULE:FREQ=DAILY;COUNT=3') self.assertTrue(isinstance(event.getField('timezone').storage, atapi.AttributeStorage)) self.assertTrue(isinstance(event.getField('recurrence').storage, atapi.AttributeStorage))