def test_error_during_publish_multiple_is_written_to_objectlog(self): c1 = ICMSContent('http://xml.zeit.de/online/2007/01/Flugsicherheit') c2 = ICMSContent('http://xml.zeit.de/online/2007/01/Saarland') i1 = IPublishInfo(c1) i2 = IPublishInfo(c2) self.assertFalse(i1.published) self.assertFalse(i2.published) i1.urgent = True i2.urgent = True publish = IPublish(c1).publish_multiple([c1, c2]) transaction.commit() with self.assertRaises(Exception) as err: publish.get() transaction.begin() self.assertEqual("Error during publish/retract: ScriptError: ('', 1)", str(err.exception)) self.assertIn( "Error during publish/retract: ScriptError: ('', 1)", [zope.i18n.interpolate(m, m.mapping) for m in get_object_log(c1)]) self.assertIn( "Error during publish/retract: ScriptError: ('', 1)", [zope.i18n.interpolate(m, m.mapping) for m in get_object_log(c2)])
def test_publish_multiple_via_celery_end_to_end(self): c1 = ICMSContent('http://xml.zeit.de/online/2007/01/Flugsicherheit') c2 = ICMSContent('http://xml.zeit.de/online/2007/01/Saarland') i1 = IPublishInfo(c1) i2 = IPublishInfo(c2) self.assertFalse(i1.published) self.assertFalse(i2.published) i1.urgent = True i2.urgent = True publish = IPublish(c1).publish_multiple([c1, c2]) transaction.commit() self.assertEqual('Published.', publish.get()) transaction.begin() self.assertEllipsis( """\ Running job ... for http://xml.zeit.de/online/2007/01/Flugsicherheit, http://xml.zeit.de/online/2007/01/Saarland Publishing http://xml.zeit.de/online/2007/01/Flugsicherheit, http://xml.zeit.de/online/2007/01/Saarland ... Done http://xml.zeit.de/online/2007/01/Flugsicherheit, http://xml.zeit.de/online/2007/01/Saarland (...s)""", self.log.getvalue()) self.assertIn('Published', get_object_log(c1)) self.assertIn('Published', get_object_log(c2))
def test_error_during_publish_is_written_to_objectlog(self): content = ICMSContent('http://xml.zeit.de/online/2007/01/Somalia') info = IPublishInfo(content) self.assertFalse(info.published) info.urgent = True publish = IPublish(content).publish() transaction.commit() with self.assertRaises(Exception) as err: publish.get() transaction.begin() self.assertEqual(self.error, str(err.exception)) self.assertIn(self.error, [ zope.i18n.interpolate(m, m.mapping) for m in get_object_log(content) ])
def test_publish_via_celery_end_to_end(self): content = ICMSContent('http://xml.zeit.de/online/2007/01/Somalia') info = IPublishInfo(content) self.assertFalse(info.published) info.urgent = True publish = IPublish(content).publish() transaction.commit() self.assertEqual('Published.', publish.get()) transaction.begin() self.assertEllipsis( """\ Running job ... Publishing http://xml.zeit.de/online/2007/01/Somalia ... Done http://xml.zeit.de/online/2007/01/Somalia (...s)...""", self.log.getvalue()) self.assertIn('Published', get_object_log(content))