Exemple #1
0
 def test_exception(self):
     """Exceptions get serialized along with their traceback."""
     exc_info = raise_to_exc_info(ZeroDivisionError('foo'))
     reason = ErrorReason.Exception(exc_info)
     expected_tb = ''.join(traceback.format_exception(*exc_info))
     self.assertEqual(structure_reason(reason), {
         'exception': "ZeroDivisionError('foo',)",
         'traceback': expected_tb
     })
Exemple #2
0
 def test_exception(self):
     """Exceptions get serialized along with their traceback."""
     exc_info = raise_to_exc_info(ZeroDivisionError('foo'))
     reason = ErrorReason.Exception(exc_info)
     expected_tb = ''.join(traceback.format_exception(*exc_info))
     self.assertEqual(
         structure_reason(reason),
         {'exception': "ZeroDivisionError('foo',)",
          'traceback': expected_tb}
     )
Exemple #3
0
 def test_user_message(self):
     """User messages get wrapped in a dictionary."""
     self.assertEqual(
         structure_reason(ErrorReason.UserMessage('foo bar')),
         {'user-message': 'foo bar'})
Exemple #4
0
 def test_structured(self):
     """Structured values get unwrapped."""
     self.assertEqual(
         structure_reason(ErrorReason.Structured({'foo': 'bar'})),
         {'foo': 'bar'})
Exemple #5
0
 def test_string(self):
     """String values get wrapped in a dictionary."""
     self.assertEqual(structure_reason(ErrorReason.String('foo')),
                      {'string': 'foo'})
Exemple #6
0
 def test_user_message(self):
     """User messages get wrapped in a dictionary."""
     self.assertEqual(structure_reason(ErrorReason.UserMessage('foo bar')),
                      {'user-message': 'foo bar'})
Exemple #7
0
 def test_structured(self):
     """Structured values get unwrapped."""
     self.assertEqual(
         structure_reason(ErrorReason.Structured({'foo': 'bar'})),
         {'foo': 'bar'})
Exemple #8
0
 def test_string(self):
     """String values get wrapped in a dictionary."""
     self.assertEqual(structure_reason(ErrorReason.String('foo')),
                      {'string': 'foo'})