kin: KIN-ARCH-003 Сделать path nullable для operations-проектов
This commit is contained in:
parent
39acc9cc4b
commit
295a95bc7f
3 changed files with 229 additions and 0 deletions
|
|
@ -89,6 +89,38 @@ def test_update_project_ssh_fields(conn):
|
|||
assert updated["ssh_user"] == "pelmen"
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# KIN-ARCH-003 — path nullable для operations-проектов
|
||||
# Исправляет баг: workaround с пустой строкой ("") для operations-проектов
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def test_kin_arch_003_operations_project_without_path_stores_null(conn):
|
||||
"""KIN-ARCH-003: operations-проект без path сохраняется с path=NULL, не пустой строкой.
|
||||
|
||||
До фикса: workaround — передавать path='' чтобы обойти NOT NULL constraint.
|
||||
После фикса: path=None (NULL в БД) допустим для operations-проектов.
|
||||
"""
|
||||
p = models.create_project(
|
||||
conn, "ops_null", "Ops Null Path",
|
||||
project_type="operations",
|
||||
ssh_host="10.0.0.1",
|
||||
)
|
||||
assert p["path"] is None, (
|
||||
"KIN-ARCH-003 регрессия: path должен быть NULL, а не пустой строкой"
|
||||
)
|
||||
|
||||
|
||||
def test_kin_arch_003_check_constraint_rejects_null_path_for_development(conn):
|
||||
"""KIN-ARCH-003: CHECK constraint (path IS NOT NULL OR project_type='operations')
|
||||
отклоняет path=NULL для development-проектов."""
|
||||
import sqlite3 as _sqlite3
|
||||
with pytest.raises(_sqlite3.IntegrityError):
|
||||
models.create_project(
|
||||
conn, "dev_no_path", "Dev No Path",
|
||||
path=None, project_type="development",
|
||||
)
|
||||
|
||||
|
||||
# -- validate_completion_mode (KIN-063) --
|
||||
|
||||
def test_validate_completion_mode_valid_auto_complete():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue