/
vshmidt
/
django
Обзор
Документация
Войти
/
vshmidt
/
django
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
tests/dbshell/test_sqlite.py
45 строк
2 KB
Mariusz Felisiak
Applied Black's 2024 stable style.
26 янв 2024, 14:45
Не верифицирован
26 янв 2024, 14:45
305757a
Код
Авторство
О чём код?
import subprocess from pathlib import Path from unittest import mock, skipUnless from django.core.management import CommandError, call_command from django.db import connection from django.db.backends.sqlite3.client import DatabaseClient from django.test import SimpleTestCase class SqliteDbshellCommandTestCase(SimpleTestCase): def settings_to_cmd_args_env(self, settings_dict, parameters=None): if parameters is None: parameters = [] return DatabaseClient.settings_to_cmd_args_env(settings_dict, parameters) def test_path_name(self): self.assertEqual( self.settings_to_cmd_args_env({"NAME": Path("test.db.sqlite3")}), (["sqlite3", Path("test.db.sqlite3")], None), ) def test_parameters(self): self.assertEqual( self.settings_to_cmd_args_env({"NAME": "test.db.sqlite3"}, ["-help"]), (["sqlite3", "test.db.sqlite3", "-help"], None), ) @skipUnless(connection.vendor == "sqlite", "SQLite test") def test_non_zero_exit_status_when_path_to_db_is_path(self): sqlite_with_path = { "ENGINE": "django.db.backends.sqlite3", "NAME": Path("test.db.sqlite3"), } cmd_args = self.settings_to_cmd_args_env(sqlite_with_path)[0] msg = '"sqlite3 test.db.sqlite3" returned non-zero exit status 1.' with ( mock.patch( "django.db.backends.sqlite3.client.DatabaseClient.runshell", side_effect=subprocess.CalledProcessError(returncode=1, cmd=cmd_args), ), self.assertRaisesMessage(CommandError, msg), ): call_command("dbshell")