PHP 8.5.2
Preview: test_asyncassertions.py Size: 2.49 KB
//lib/python3/dist-packages/twisted/trial/test/test_asyncassertions.py

# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

"""
Tests for async assertions provided by C{twisted.trial.unittest.TestCase}.
"""


import unittest as pyunit

from twisted.internet import defer
from twisted.python import failure
from twisted.trial import unittest


class AsynchronousAssertionsTests(unittest.TestCase):
    """
    Tests for L{TestCase}'s asynchronous extensions to L{SynchronousTestCase}.
    That is, assertFailure.
    """

    def test_assertFailure(self):
        d = defer.maybeDeferred(lambda: 1 / 0)
        return self.assertFailure(d, ZeroDivisionError)

    def test_assertFailure_wrongException(self):
        d = defer.maybeDeferred(lambda: 1 / 0)
        self.assertFailure(d, OverflowError)
        d.addCallbacks(
            lambda x: self.fail("Should have failed"),
            lambda x: x.trap(self.failureException),
        )
        return d

    def test_assertFailure_noException(self):
        d = defer.succeed(None)
        self.assertFailure(d, ZeroDivisionError)
        d.addCallbacks(
            lambda x: self.fail("Should have failed"),
            lambda x: x.trap(self.failureException),
        )
        return d

    def test_assertFailure_moreInfo(self):
        """
        In the case of assertFailure failing, check that we get lots of
        information about the exception that was raised.
        """
        try:
            1 / 0
        except ZeroDivisionError:
            f = failure.Failure()
            d = defer.fail(f)
        d = self.assertFailure(d, RuntimeError)
        d.addErrback(self._checkInfo, f)
        return d

    def _checkInfo(self, assertionFailure, f):
        assert assertionFailure.check(self.failureException)
        output = assertionFailure.getErrorMessage()
        self.assertIn(f.getErrorMessage(), output)
        self.assertIn(f.getBriefTraceback(), output)

    def test_assertFailure_masked(self):
        """
        A single wrong assertFailure should fail the whole test.
        """

        class ExampleFailure(Exception):
            pass

        class TC(unittest.TestCase):
            failureException = ExampleFailure

            def test_assertFailure(self):
                d = defer.maybeDeferred(lambda: 1 / 0)
                self.assertFailure(d, OverflowError)
                self.assertFailure(d, ZeroDivisionError)
                return d

        test = TC("test_assertFailure")
        result = pyunit.TestResult()
        test.run(result)
        self.assertEqual(1, len(result.failures))

Directory Contents

Dirs: 1 × Files: 39

Name Size Perms Modified Actions
- drwxr-xr-x 2026-01-08 12:56:24
Edit Download
5.63 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
6.44 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
2.88 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
544 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
541 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
684 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
2.36 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
178 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
302 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
182 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
912 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
4.54 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
3.10 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
2.13 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
457 B lrwxr-xr-x 2024-08-27 10:30:39
Edit Download
5.99 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
2.44 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
59.39 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
2.49 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
9.63 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
1.76 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
3.96 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
23.95 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
7.85 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
2.97 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
5.26 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
1.43 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
7.88 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
56.44 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
31.50 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
32.41 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
2.69 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
5.77 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
1.94 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
48.83 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
21.65 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
18.40 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
675 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
1.68 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).