def saved(_): logger.reset() self.clock.advance(1000) assertHasMessage(self, logger, _LOG_EXPIRE, { u"dataset_id": dataset_id, u"node_id": node_id })
def error_status_logged(case, logger): """ Validate the error logging behavior of ``_sync_command_error_squashed``. """ assertHasMessage(case, logger, ZFS_ERROR, { 'status': 1, 'zfs_command': 'python -c raise SystemExit(1)', 'output': ''}) case.assertEqual(len(LoggedMessage.ofType(logger.messages, ZFS_ERROR)), 1)
def no_such_executable_logged(case, logger): """ Validate the error logging behavior of ``_sync_command_error_squashed``. """ assertHasMessage(case, logger, ZFS_ERROR, { 'status': 1, 'zfs_command': 'nonsense garbage made up no such command', 'output': '[Errno 2] No such file or directory'}) case.assertEqual(len(LoggedMessage.ofType(logger.messages, ZFS_ERROR)), 1)
def test_message(self, logger): """ A message logged to the given ``LogPublisher`` is converted to an Eliot log message. """ publisher = LogPublisher() observer = EliotObserver(publisher) observer.logger = logger publisher.addObserver(observer) publisher.msg(b"Hello", b"world") assertHasMessage(self, logger, TWISTED_LOG_MESSAGE, dict(error=False, message=u"Hello world"))
def test_error(self, logger): """ An error logged to the given ``LogPublisher`` is converted to an Eliot log message. """ publisher = LogPublisher() observer = EliotObserver(publisher) observer.logger = logger publisher.addObserver(observer) # No public API for this unfortunately, so emulate error logging: publisher.msg(failure=Failure(ZeroDivisionError("onoes")), why=b"A zero division ono", isError=True) message = (u'A zero division ono\nTraceback (most recent call ' u'last):\nFailure: exceptions.ZeroDivisionError: onoes\n') assertHasMessage(self, logger, TWISTED_LOG_MESSAGE, dict(error=True, message=message))
def assert_full_logging(self, logger): """ A convergence action is logged inside the finite state maching logging. """ transition = assertHasAction(self, logger, LOG_FSM_TRANSITION, True) converge = assertHasAction( self, logger, LOG_CONVERGE, True, { u"cluster_state": self.cluster_state, u"desired_configuration": self.configuration }) self.assertIn(converge, transition.children) send = assertHasAction(self, logger, LOG_SEND_TO_CONTROL_SERVICE, True, {u"local_changes": [self.local_state]}) self.assertIn(send, converge.children) calculate = assertHasMessage(self, logger, LOG_CALCULATED_ACTIONS, {u"calculated_actions": self.action}) self.assertIn(calculate, converge.children)
def assert_full_logging(self, logger): """ A convergence action is logged inside the finite state maching logging. """ transition = assertHasAction(self, logger, LOG_FSM_TRANSITION, True) converge = assertHasAction( self, logger, LOG_CONVERGE, True, {u"cluster_state": self.cluster_state, u"desired_configuration": self.configuration}) self.assertIn(converge, transition.children) send = assertHasAction(self, logger, LOG_SEND_TO_CONTROL_SERVICE, True, {u"local_changes": [self.local_state]}) self.assertIn(send, converge.children) calculate = assertHasMessage( self, logger, LOG_CALCULATED_ACTIONS, {u"calculated_actions": self.action}) self.assertIn(calculate, converge.children)
def saved(_): logger.reset() self.clock.advance(1000) assertHasMessage(self, logger, _LOG_EXPIRE, { u"dataset_id": dataset_id, u"node_id": node_id})