refactor(db)!: finalize pooled WNDB v2 migration
This commit is contained in:
@@ -18,6 +18,9 @@ class DummyChangeSet:
|
||||
|
||||
|
||||
def _load_project_module(monkeypatch):
|
||||
class DummyProjectContext:
|
||||
project_code = "demo"
|
||||
|
||||
install_stub(monkeypatch, "app.services", package=True)
|
||||
install_stub(
|
||||
monkeypatch,
|
||||
@@ -33,14 +36,9 @@ def _load_project_module(monkeypatch):
|
||||
"have_project": lambda network: network == "demo",
|
||||
"create_project": lambda network: None,
|
||||
"delete_project": lambda network: None,
|
||||
"is_project_open": lambda network: False,
|
||||
"open_project": lambda network: None,
|
||||
"close_project": lambda network: None,
|
||||
"copy_project": lambda source, target: None,
|
||||
"import_inp": lambda network, cs: {"ok": True},
|
||||
"export_inp": lambda network, version: DummyChangeSet({"kind": "export"}),
|
||||
"read_inp": lambda network, inp: True,
|
||||
"dump_inp": lambda network, inp: True,
|
||||
"get_all_vertices": lambda network: [],
|
||||
"get_all_scada_info": lambda network: [],
|
||||
"get_all_district_metering_areas": lambda network: [],
|
||||
@@ -52,7 +50,12 @@ def _load_project_module(monkeypatch):
|
||||
install_stub(
|
||||
monkeypatch,
|
||||
"app.auth.project_dependencies",
|
||||
{"get_metadata_repository": lambda: None},
|
||||
{
|
||||
"ProjectContext": DummyProjectContext,
|
||||
"get_metadata_repository": lambda: None,
|
||||
"get_project_context": lambda: DummyProjectContext(),
|
||||
"use_project_business_routing": lambda: None,
|
||||
},
|
||||
)
|
||||
return load_module_from_path(
|
||||
"tests_project_endpoints_module",
|
||||
@@ -98,40 +101,21 @@ def test_project_info_returns_project_workspace(monkeypatch):
|
||||
assert "geoserver" not in payload
|
||||
|
||||
|
||||
def test_open_project_uses_unified_wndb_connection_path(monkeypatch):
|
||||
def test_legacy_open_project_endpoint_is_removed(monkeypatch):
|
||||
module = _load_project_module(monkeypatch)
|
||||
called = []
|
||||
|
||||
monkeypatch.setattr(module, "open_project", lambda network: called.append(network))
|
||||
|
||||
client = TestClient(build_test_app(module.router, "/api/v1"))
|
||||
|
||||
response = client.post("/api/v1/projects/current", params={"network": "demo"})
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.json() == "demo"
|
||||
assert called == ["demo"]
|
||||
assert response.status_code == 405
|
||||
|
||||
|
||||
def test_project_lock_lifecycle(monkeypatch):
|
||||
def test_legacy_physical_project_routes_are_removed(monkeypatch):
|
||||
module = _load_project_module(monkeypatch)
|
||||
module.lockedPrjs.clear()
|
||||
client = TestClient(build_test_app(module.router, "/api/v1"))
|
||||
|
||||
first_lock = client.post("/api/v1/projects/current/lock", params={"network": "demo"})
|
||||
second_lock = client.post("/api/v1/projects/current/lock", params={"network": "demo"})
|
||||
locked_by_me = client.get(
|
||||
"/api/v1/projects/current/lock/ownership",
|
||||
params={"network": "demo"},
|
||||
)
|
||||
unlock = client.delete(
|
||||
"/api/v1/projects/current/lock",
|
||||
params={"network": "demo"},
|
||||
)
|
||||
locked = client.get("/api/v1/projects/current/lock", params={"network": "demo"})
|
||||
|
||||
assert first_lock.json() == 0
|
||||
assert second_lock.json() == 1
|
||||
assert locked_by_me.json() is True
|
||||
assert unlock.json() is True
|
||||
assert locked.json() is False
|
||||
assert client.get("/api/v1/project-codes").status_code == 404
|
||||
assert client.get("/api/v1/projects/existence").status_code == 404
|
||||
assert client.post("/api/v1/project-copies").status_code == 404
|
||||
assert client.get("/api/v1/projects/current/lock").status_code == 404
|
||||
assert client.post("/api/v1/project-conversions").status_code == 404
|
||||
|
||||
Reference in New Issue
Block a user