Skip to content

Commit cc1929b

Browse files
authored
test: BI-6496 Add auth_data fixture to testing control_api (#1205)
fake_auth_data
1 parent c35b477 commit cc1929b

File tree

4 files changed

+19
-3
lines changed

4 files changed

+19
-3
lines changed

lib/dl_api_commons/dl_api_commons/flask/middlewares/trust_auth.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import flask
55

66
from dl_api_commons.base_models import (
7+
AuthData,
78
NoAuthData,
89
TenantCommon,
910
TenantDef,
@@ -21,14 +22,15 @@ class TrustAuthService:
2122
fake_user_id: Optional[str] = None
2223
fake_user_name: Optional[str] = None
2324
fake_tenant: Optional[TenantDef] = None
25+
fake_auth_data: Optional[AuthData] = None
2426

2527
def _before_request(self) -> None:
2628
fake_user_id = self.fake_user_id
2729
fake_user_name = self.fake_user_name
2830
fake_tenant = self.fake_tenant
2931

3032
temp_rci = ReqCtxInfoMiddleware.get_temp_rci().clone(
31-
auth_data=NoAuthData(),
33+
auth_data=NoAuthData() if self.fake_auth_data is None else self.fake_auth_data,
3234
tenant=TenantCommon() if fake_tenant is None else fake_tenant,
3335
)
3436
if fake_user_id is not None:

lib/dl_api_lib/dl_api_lib/app_settings.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010
import attr
1111
import pydantic
1212

13-
from dl_api_commons.base_models import TenantDef
13+
from dl_api_commons.base_models import (
14+
AuthData,
15+
TenantDef,
16+
)
1417
from dl_api_lib.connector_availability.base import ConnectorAvailabilityConfig
1518
from dl_configs.crypto_keys import CryptoKeysConfig
1619
from dl_configs.enums import RedisMode
@@ -306,6 +309,7 @@ def jaeger_service_name(self) -> str:
306309
class ControlApiAppTestingsSettings:
307310
us_auth_mode_override: Optional[USAuthMode] = attr.ib(default=None)
308311
fake_tenant: Optional[TenantDef] = attr.ib(default=None)
312+
fake_auth_data: Optional[AuthData] = attr.ib(default=None)
309313

310314

311315
@attr.s(frozen=True)

lib/dl_api_lib_testing/dl_api_lib_testing/app.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ def set_up_environment(
140140
fake_user_id=TEST_USER_ID,
141141
fake_user_name=TEST_USER_NAME,
142142
fake_tenant=None if testing_app_settings is None else testing_app_settings.fake_tenant,
143+
fake_auth_data=None if testing_app_settings is None else testing_app_settings.fake_auth_data,
143144
).set_up(app)
144145

145146
us_auth_mode_override = None if testing_app_settings is None else testing_app_settings.us_auth_mode_override

lib/dl_api_lib_testing/dl_api_lib_testing/base.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from dl_api_client.dsmaker.api.dataset_api import SyncHttpDatasetApiV1
1515
from dl_api_client.dsmaker.api.http_sync_base import SyncHttpClientBase
1616
from dl_api_commons.base_models import (
17+
AuthData,
1718
RequestContextInfo,
1819
TenantCommon,
1920
TenantDef,
@@ -166,19 +167,27 @@ def control_api_app_factory(self, control_api_app_settings: ControlApiAppSetting
166167
def fake_tenant(self) -> TenantDef:
167168
return TenantCommon()
168169

170+
@pytest.fixture(scope="function")
171+
def fake_auth_data(self) -> Optional[AuthData]:
172+
return None
173+
169174
@pytest.fixture(scope="function")
170175
def control_api_app(
171176
self,
172177
environment_readiness: None,
173178
control_api_app_factory: ControlApiAppFactory,
174179
connectors_settings: dict[ConnectionType, ConnectorSettingsBase],
175180
fake_tenant: TenantDef,
181+
fake_auth_data: Optional[AuthData],
176182
) -> Generator[Flask, None, None]:
177183
"""Session-wide test `Flask` application."""
178184

179185
app = control_api_app_factory.create_app(
180186
connectors_settings=connectors_settings,
181-
testing_app_settings=ControlApiAppTestingsSettings(fake_tenant=fake_tenant),
187+
testing_app_settings=ControlApiAppTestingsSettings(
188+
fake_tenant=fake_tenant,
189+
fake_auth_data=fake_auth_data,
190+
),
182191
close_loop_after_request=False,
183192
)
184193

0 commit comments

Comments
 (0)