Skip to content

Commit fdf0e97

Browse files
authored
Hotfix/config studies (#846)
Added switch to disable studies in webserver config
1 parent b6a641e commit fdf0e97

File tree

9 files changed

+20
-6
lines changed

9 files changed

+20
-6
lines changed

services/web/server/src/simcore_service_webserver/application_config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ def create_schema():
4545
"client_outdir": T.String(),
4646
"log_level": T.Enum(*logging._nameToLevel.keys()), # pylint: disable=protected-access
4747
"testing": T.Bool(),
48+
"studies_access_enabled": T.Bool(),
4849
}),
4950
db_config.CONFIG_SECTION_NAME: db_config.schema,
5051
director_config.CONFIG_SECTION_NAME: director_config.schema,

services/web/server/src/simcore_service_webserver/config/host-dev-config.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ main:
44
host: 127.0.0.1
55
log_level: INFO
66
port: 8080
7-
testing: true
7+
testing: True
8+
studies_access_enabled: True
89
db:
910
enabled: True
1011
init_tables: True

services/web/server/src/simcore_service_webserver/config/server-defaults.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ main:
55
log_level: DEBUG
66
port: 8080
77
testing: true
8+
studies_access_enabled: True
89
director:
910
host: director
1011
port: 8001

services/web/server/src/simcore_service_webserver/config/server-docker-dev.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ main:
77
client_outdir: ${SIMCORE_WEB_OUTDIR}
88
log_level: DEBUG
99
testing: True
10+
studies_access_enabled: False
1011
director:
1112
host: ${DIRECTOR_HOST}
1213
port: ${DIRECTOR_PORT}

services/web/server/src/simcore_service_webserver/config/server-docker-prod.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ main:
77
client_outdir: ${SIMCORE_WEB_OUTDIR}
88
log_level: INFO
99
testing: False
10+
studies_access_enabled: False
1011
director:
1112
host: ${DIRECTOR_HOST}
1213
port: ${DIRECTOR_PORT}

services/web/server/src/simcore_service_webserver/config/server-template.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ main:
66
client_outdir: ${SIMCORE_WEB_OUTDIR}
77
log_level: DEBUG
88
testing: True
9+
studies_access_enabled: False
910
director:
1011
host: ${DIRECTOR_HOST}
1112
port: ${DIRECTOR_PORT}

services/web/server/src/simcore_service_webserver/studies_access.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
from aiohttp import web
2121

22+
from servicelib.application_keys import APP_CONFIG_KEY
23+
2224
from .resources import resources
2325
from .security_api import is_anonymous, remember
2426
from .statics import INDEX_RESOURCE_NAME
@@ -196,15 +198,20 @@ async def access_study(request: web.Request) -> web.Response:
196198
raise response
197199

198200

199-
200-
201201
def setup(app: web.Application):
202202

203+
cfg = app[APP_CONFIG_KEY]["main"]
204+
if not cfg["studies_access_enabled"]:
205+
log.warning("'%s' setup explicitly disabled in config", __name__)
206+
return False
207+
203208
# TODO: make sure that these routes are filtered properly in active middlewares
204209
app.router.add_routes([
205210
web.get(r"/study/{id}", access_study, name="study"),
206211
])
207212

213+
return True
214+
208215

209216
# alias
210217
setup_studies_access = setup

services/web/server/tests/unit/with_postgres/config.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ main:
44
host: 127.0.0.1
55
log_level: DEBUG
66
port: 8080
7-
testing: true
7+
testing: True
8+
studies_access_enabled: True
89
director:
910
enabled: False
1011
host: director

services/web/server/tests/unit/with_postgres/test_access_to_studies.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ def client(loop, aiohttp_client, aiohttp_unused_port, app_cfg, postgres_service,
7979
setup_rest(app, debug=True) # TODO: why should we need this??
8080
setup_login(app)
8181
setup_users(app)
82-
assert setup_projects(app)
83-
setup_studies_access(app)
82+
assert setup_projects(app), "Shall not skip this setup"
83+
assert setup_studies_access(app), "Shall not skip this setup"
8484

8585
assert studies_access.SHARABLE_TEMPLATE_STUDY_IDS, "Did u change the name again?"
8686
monkeypatch.setattr(studies_access, 'SHARABLE_TEMPLATE_STUDY_IDS', [SHARED_STUDY_UUID, ])

0 commit comments

Comments
 (0)