django/tests/dbshell/tests.py

18 lines
613 B
Python

from unittest import mock
from django.core.management import call_command
from django.core.management.base import CommandError
from django.db import connection
from django.test import SimpleTestCase
class DbshellCommandTestCase(SimpleTestCase):
def test_command_missing(self):
msg = (
"You appear not to have the %r program installed or on your path."
% connection.client.executable_name
)
with self.assertRaisesMessage(CommandError, msg):
with mock.patch("subprocess.run", side_effect=FileNotFoundError):
call_command("dbshell")