예제 #1
0
 def saved(_):
     logger.reset()
     self.clock.advance(1000)
     assertHasMessage(self, logger, _LOG_EXPIRE, {
         u"dataset_id": dataset_id,
         u"node_id": node_id
     })
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
 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"))
예제 #5
0
 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"))
예제 #6
0
 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))
예제 #7
0
 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))
예제 #8
0
 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)
예제 #9
0
 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)
예제 #10
0
 def saved(_):
     logger.reset()
     self.clock.advance(1000)
     assertHasMessage(self, logger, _LOG_EXPIRE, {
         u"dataset_id": dataset_id, u"node_id": node_id})