File: utils.py

package info (click to toggle)
python-django 3%3A5.2.5-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 61,236 kB
  • sloc: python: 361,585; javascript: 19,250; xml: 211; makefile: 182; sh: 28
file content (23 lines) | stat: -rw-r--r-- 699 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from io import StringIO
from unittest import mock


class AssertFormatterFailureCaughtContext:

    def __init__(self, test, shutil_which_result="nonexistent"):
        self.stdout = StringIO()
        self.stderr = StringIO()
        self.test = test
        self.shutil_which_result = shutil_which_result

    def __enter__(self):
        self.mocker = mock.patch(
            "django.core.management.utils.shutil.which",
            return_value=self.shutil_which_result,
        )
        self.mocker.start()
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        self.mocker.stop()
        self.test.assertIn("Formatters failed to launch", self.stderr.getvalue())