MOCK_GATEWAY_HOST=127.0.0.1 MOCK_GATEWAY_PORT=19090 # EDIP token mock MOCK_TOKEN_PERIOD_SECONDS=3600 MOCK_EDIP_FORCE_ERROR_CODE= MOCK_EDIP_FORCE_ERROR_MSG= MOCK_EDIP_REFRESH_TOKEN_MUST_EXIST=false # Bally validate mock MOCK_VALIDATE_RESULT=SUCCESS MOCK_VALIDATE_FAIL_PINS=0000 # Member profile / image mock MOCK_MEMBER_FIRST_NAME=MOCK MOCK_MEMBER_LAST_NAME=MEMBER MOCK_MEMBER_TIER=MOCK MOCK_MEMBER_EBONUS=0 MOCK_MEMBER_PHONE=+85312345678 MOCK_MEMBER_BIRTHDAY=1990-01-01 MOCK_MEMBER_GENDER=M MOCK_MEMBER_IMAGE= # Tier points mock MOCK_PLAYER_EARN_POINTS=0 # Promotions mock # 允许使用抓包文件(文件可包含前置文本,JSON 从第一个 "{" 开始解析) MOCK_PROMOTION_CAPTURE_FILE=./fixtures/promotions.capture.800048718.json MOCK_PROMOTION_MAX_ITEMS=30 MOCK_PROMOTIONS_REDEEMED_FIXTURE_FILE=./e.p/promotions-redeemed.json MOCK_REDEEMED_PROMOTION_DETAIL_INCLUDE_DEFAULT_RECORD=false # Task 10766 scenario mock # 开启后,accountNum=MOCK_TASK_10766_ACCOUNT_NUM 会返回固定 CNY Promotion, # 且 /ewl/bal/v1/playerpromotion/redeem 稳定返回 "Prize definition not found" 场景 MOCK_TASK_10766_ENABLED=true MOCK_TASK_10766_ACCOUNT_NUM=80010766 MOCK_TASK_10766_PROMOTION_CAPTURE_FILE=./fixtures/promotions.capture.10766.json MOCK_TASK_10766_REDEEM_ERROR_CODE=EWALLET_HTTP_ERROR MOCK_TASK_10766_REDEEM_ERROR_MSG=ewallet connection failed: 404 NOT_FOUND, {"success":false,"message":"Prize definition not found"} MOCK_TASK_10766_REDEEM_RESULT=false # Task 10852 scenario mock # 开启后,accountNum=80010852 会固定返回可点击的 entitled 双 outcome Promotion,便于直接验证 targetPrizes 多项场景 MOCK_TASK_10852_ENABLED=true MOCK_TASK_10852_ACCOUNT_NUM=80010852 # Task 10852: Point the dedicated member to a minimal entitled fixture so Redeem stays enabled only for this account. MOCK_TASK_10852_PROMOTION_CAPTURE_FILE=./fixtures/promotions.capture.10852.json MOCK_TASK_10852_MEMBER_EBONUS=188 MOCK_PROMOTION_REDEMPTION_BRIDGE_ENABLED=true MOCK_PROMOTION_REDEMPTION_BRIDGE_BASE_URL=http://127.0.0.1:8080 MOCK_PROMOTION_REDEMPTION_BRIDGE_LOGIN_USERNAME=admin MOCK_PROMOTION_REDEMPTION_BRIDGE_LOGIN_PASSWORD=admin MOCK_PROMOTION_REDEMPTION_BRIDGE_TIMEOUT_MS=60000 MOCK_PROMOTION_REDEMPTION_INITIATE_SOURCE=EDIP_MINI_KIOSK MOCK_PROMOTION_REDEMPTION_SOURCE_BUCKET=m-comp MOCK_PROMOTION_REDEMPTION_ID_START= # LDAP mock (Simple Bind + Search) MOCK_LDAP_ENABLED=true MOCK_LDAP_HOST=0.0.0.0 MOCK_LDAP_PORT=1389 MOCK_LDAP_BASE_DN=dc=macausjm-glp,dc=com MOCK_LDAP_MANAGER_DN=cn=s-cicd-app,OU=ServiceAccount,dc=macausjm-glp,dc=com MOCK_LDAP_GROUP_BASE_DN=OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com # 开启后:LDAP 任意用户名/密码放行(用于前后端联调) # 注意:若需按账号区分用户组(如 admin/admin2),请关闭该模式 MOCK_LDAP_ALLOW_ANY_USER_MODE=false MOCK_LDAP_ALLOW_ANY_USER_OU=OU=GLPUsers MOCK_LDAP_ALLOW_ANY_USER_GROUP_CN=SG-EWALLET-ADMIN MOCK_LDAP_ALLOW_ANY_USER_MAIL_DOMAIN=macausjm-glp.com # 留空表示 manager bind 允许任意密码(便于 Backend 仅改 LDAP_URL 即可接入) MOCK_LDAP_MANAGER_PASSWORD= # Default LDAP user (used when MOCK_LDAP_USERS_JSON is empty) MOCK_LDAP_DEFAULT_USER_SAMACCOUNTNAME=mock.user MOCK_LDAP_DEFAULT_USER_DN=cn=mock.user,OU=GLPUsers,dc=macausjm-glp,dc=com MOCK_LDAP_DEFAULT_USER_PASSWORD=mock-user-password MOCK_LDAP_DEFAULT_USER_CN=Mock User MOCK_LDAP_DEFAULT_USER_MAIL=mock.user@macausjm-glp.com MOCK_LDAP_DEFAULT_USER_MEMBER_OF=cn=SG-EWALLET-ADMIN,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com # Optional JSON array to override LDAP users # Format: # MOCK_LDAP_USERS_JSON=[{"sAMAccountName":"alice","dn":"cn=alice,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"pass","cn":"Alice","mail":"alice@macausjm-glp.com","memberOf":["cn=SG-APP-EWALLET-SUPER-ADMIN,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]}] # 注意:组名(CN)必须与后端数据库 roles 表中的 code 完全一致,否则登录后权限为空 MOCK_LDAP_USERS_JSON=[{"sAMAccountName":"admin","dn":"cn=admin,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"admin","cn":"Admin","mail":"admin@macausjm-glp.com","memberOf":["cn=SG-EWALLET-ADMIN,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]},{"sAMAccountName":"admin2","dn":"cn=admin2,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"admin2","cn":"Admin Two","mail":"admin2@macausjm-glp.com","memberOf":["cn=SG-EWALLET-ADMIN,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]},{"sAMAccountName":"admin3","dn":"cn=admin3,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"admin3","cn":"Admin Three","mail":"admin3@macausjm-glp.com","memberOf":["cn=SG-EWALLET-OPERATOR,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]},{"sAMAccountName":"batch.test","dn":"cn=batch.test,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"batch.test","cn":"Batch Test","mail":"batch.test@macausjm-glp.com","memberOf":["cn=SG-EWALLET-BATCH-OPERATION-EDITOR,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]},{"sAMAccountName":"batch.approver","dn":"cn=batch.approver,OU=GLPUsers,dc=macausjm-glp,dc=com","password":"batch.approver","cn":"Batch Approver","mail":"batch.approver@macausjm-glp.com","memberOf":["cn=SG-EWALLET-BATCH-OPERATION-APPROVER,OU=SecurityGroups,OU=GLPUsers,dc=macausjm-glp,dc=com"]}]