Skip to content

Commit a0c5904

Browse files
committed
unifies get_product_data
1 parent 7cea43e commit a0c5904

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

services/web/server/src/simcore_service_webserver/statics/_events.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ def _get_release_notes_vtag(vtag: str) -> str:
100100
return f"v{version.major}.{version.minor}.0"
101101

102102

103+
def _get_product_data(product: Product) -> dict[str, Any]:
104+
return {snake_to_camel(k): v for k, v in product.to_statics().items()}
105+
106+
103107
async def create_and_cache_statics_json(app: web.Application) -> None:
104108
# NOTE: in devel model, the folder might be under construction
105109
# (qx-compile takes time), therefore we create statics.json
@@ -124,8 +128,7 @@ async def create_and_cache_statics_json(app: web.Application) -> None:
124128

125129
_logger.debug("Product %s", product.name)
126130

127-
product_data = {snake_to_camel(k): v for k, v in product.to_statics().items()}
128-
data.update(product_data)
131+
data.update(_get_product_data(product))
129132

130133
# Adds specifics to login settings
131134
if (p := product.login_settings) and (v := p.get("LOGIN_2FA_REQUIRED", None)):

services/web/server/tests/unit/isolated/products/test_products_model.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
from faker import Faker
1414
from models_library.basic_regex import TWILIO_ALPHANUMERIC_SENDER_ID_RE
1515
from models_library.products import ProductName
16-
from models_library.utils.change_case import snake_to_camel
1716
from pydantic import BaseModel, ValidationError
1817
from pytest_simcore.helpers.faker_factories import random_product
1918
from pytest_simcore.pydantic_models import (
@@ -22,6 +21,7 @@
2221
)
2322
from simcore_postgres_database.models.products import products as products_table
2423
from simcore_service_webserver.products.models import Product
24+
from simcore_service_webserver.statics._events import _get_product_data
2525

2626

2727
@pytest.mark.parametrize(
@@ -49,15 +49,15 @@ def test_all_products_models_examples(
4949
def test_product_to_static():
5050

5151
product = Product.model_validate(Product.model_json_schema()["examples"][0])
52-
product_data = {snake_to_camel(k): v for k, v in product.to_statics().items()}
52+
product_data = _get_product_data(product)
5353
assert product_data == {
5454
"displayName": "o²S²PARC",
5555
"supportEmail": "[email protected]",
5656
}
5757

5858
product = Product.model_validate(Product.model_json_schema()["examples"][2])
5959

60-
product_data = {snake_to_camel(k): v for k, v in product.to_statics().items()}
60+
product_data = _get_product_data(product)
6161
assert product_data == {
6262
"displayName": "o²S²PARC FOO",
6363
"supportEmail": "[email protected]",

0 commit comments

Comments
 (0)