# Config Layout This folder controls environment, login, user, product, and flow selection for regression automation runs. ## Files - `runtime.json`: the single regression config file. It contains environment settings, active execution settings, users, and product-wise sections such as `IDAS` and `RTM`. ## Main controls In `runtime.json`: - `environment.active_environment`: selects `UAT` or `Eastern` for the entire run. - `environment.portal_environments`: keeps the Pratyay and MCO URLs paired for each environment. Pratyay uses the role-specific exchange/trading-member URL; MCO uses its own portal URL. - `environment.base_url` and `environment.login_urls`: legacy fallbacks used only when no active portal environment profile is configured. - `users.mco`: credentials for the MCO portal. These are independent of `users.exchange`, which remains the Pratyay exchange login. - `IDAS.matching.portals.mco.stage`: currently `login_only`; the MCO test signs in and verifies `/Dashboard/Index` independently from the Pratyay matching flow. - `IDAS.active_selection.product_code`: the shared product used for bidding, Pratyay bid transfer, and initiate matching. UI suffixes such as `(I)` are resolved automatically. - `execution.login_role`: `exchange` or `trading_member`. - `execution.trading_member_key`: which trading member entry from `runtime.json > users.trading_members` should be used. - `execution.product_family`: product section to load from `runtime.json`, for example `IDAS` or `RTM`. - `execution.product_code`: selected product code, for example `IDAS1`, `IDAS2`, or `IDAS3`. - `execution.flow_scope`: `e2e`, `bidding`, `matching`, `reports`, `order_book`, or `trade_book`. - `users.exchange.username` and `users.exchange.password`: exchange login. - `users.trading_members..username` and `users.trading_members..password`: trading-member login. - `users.trading_members..member_id`: trading member / ME instance value used by flows. - `users.trading_members..folder_upload_tm_ids`: TM folder names this trading-member login is allowed to upload. Parallel folder upload uses this mapping to choose the right login for each TM folder. - `IDAS`, `RTM`, and future top-level product sections: product-wise defaults, available codes, supported flows, bidding config, matching config, and future product-specific controls. Regression config now lives entirely inside `runtime.json`. ## UPC session setup Session creation uses the root `config.json`, independently of regression settings. Set `products.UPC.enabled` to `true` to include UPC. Under `products.UPC.session_variants`, enable all three variants or only the ones required: | Variant | ME instance ID | UI name | | --- | --- | --- | | DAILY | 58 | UPC ANYDAY | | WEEKLY | 59 | UPC WEEKLY | | MONTHLY | 60 | UPC MONTHLY | Each variant has an `enabled` flag. UPC remains disabled by default; all three variants are preselected for when it is enabled. Set `UPC.run_session` and `UPC.run_token` to `true` when both session and token creation are required. Each selected variant uses the existing session creation flow and inherits `setup.session.start_offset_minutes` and `setup.session.end_time`. Optional `UPC.session` settings override those defaults, and a variant's `session` settings can override them individually. Run session-only setup with `python -m pytest tests/setup/sessions/test_session.py`. Selected UPC cases appear as `UPC_DAILY`, `UPC_WEEKLY`, and `UPC_MONTHLY`.