Skip to content

Commit 398866c

Browse files
Merge branch 'is5646/use-project-nodes-table-instead-of-workbench' of github.com:giancarloromeo/osparc-simcore into is5646/use-project-nodes-table-instead-of-workbench
2 parents 00370e5 + 86e02d6 commit 398866c

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

packages/postgres-database/tests/test_models_projects_to_jobs.py

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# pylint: disable=unused-variable
44
# pylint: disable=too-many-arguments
55

6+
import json
67
from collections.abc import Iterator
78

89
import pytest
@@ -14,7 +15,7 @@
1415
from faker import Faker
1516
from pytest_simcore.helpers import postgres_tools
1617
from pytest_simcore.helpers.faker_factories import random_project, random_user
17-
from simcore_postgres_database.models.projects import projects
18+
from simcore_postgres_database.models.projects import ProjectType, projects
1819
from simcore_postgres_database.models.projects_to_jobs import projects_to_jobs
1920

2021

@@ -97,7 +98,7 @@ def test_populate_projects_to_jobs_during_migration(
9798
"Study associated to solver job:"
9899
"""{
99100
"id": "cd03450c-4c17-4c2c-85fd-0d951d7dcd5a",
100-
"name": "solvers/simcore%2Fservices%2Fcomp%2Fitis%2Fsleeper/releases/2.2.1/jobs/cd03450c-4c2c-85fd-0d951d7dcd5a",
101+
"name": "solvers/simcore%2Fservices%2Fcomp%2Fitis%2Fsleeper/releases/2.2.1/jobs/cd03450c-4c17-4c2c-85fd-0d951d7dcd5a",
101102
"inputs_checksum": "015ba4cd5cf00c511a8217deb65c242e3b15dc6ae4b1ecf94982d693887d9e8a",
102103
"created_at": "2025-01-27T13:12:58.676564Z"
103104
}
@@ -120,8 +121,37 @@ def test_populate_projects_to_jobs_during_migration(
120121
prj_owner=user_id,
121122
),
122123
]
124+
125+
default_column_values = {
126+
# NOTE: not server_default values are not applied here!
127+
"type": ProjectType.STANDARD.value,
128+
"workbench": {},
129+
"access_rights": {},
130+
"published": False,
131+
"hidden": False,
132+
"workspace_id": None,
133+
}
134+
135+
# NOTE: cannot use `projects` table directly here because it changes
136+
# throughout time
123137
for prj in projects_data:
124-
conn.execute(sa.insert(projects).values(prj))
138+
for key, value in default_column_values.items():
139+
prj.setdefault(key, value)
140+
141+
for key, value in prj.items():
142+
if isinstance(value, dict):
143+
prj[key] = json.dumps(value)
144+
145+
columns = list(prj.keys())
146+
values_clause = ", ".join(f":{col}" for col in columns)
147+
columns_clause = ", ".join(columns)
148+
stmt = sa.text(
149+
f"""
150+
INSERT INTO projects ({columns_clause})
151+
VALUES ({values_clause})
152+
""" # noqa: S608
153+
).bindparams(**prj)
154+
conn.execute(stmt)
125155

126156
# MIGRATE UPGRADE: this should populate
127157
simcore_postgres_database.cli.upgrade.callback("head")

packages/pytest-simcore/src/pytest_simcore/helpers/faker_factories.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
def random_service_key(fake: Faker = DEFAULT_FAKER, *, name: str | None = None) -> str:
2929
suffix = fake.unique.word() if name is None else name
30-
return f"simcore/services/{fake.random_element(['dynamic', 'comp', 'frontend'])}/{suffix}"
30+
return f"simcore/services/{fake.random_element(['dynamic', 'comp', 'frontend'])}/{suffix.lower()}"
3131

3232

3333
def random_service_version(fake: Faker = DEFAULT_FAKER) -> str:

0 commit comments

Comments
 (0)