fix(security): retire default-credential surface (yanxue-20260914-cma-defaultcred-code-fix)

- Login.vue: no prefilled default creds; no anonymous entity enumeration on mount

- deploy.sh: readiness polling (0.5s/30s cap) replaces fixed sleep 3; login smoke reads same-source 600 secret file, missing file = explicit abort

- 19 verify/check/gen_report scripts: shared _admin_creds() loader (CMA_ADMIN_ENV -> ops .secrets -> profile copy); no hardcoded creds

- tests: single TEST_USER_PASSWORD fixture constant; docs: pointer to 600 secret file; removed 4 legacy .bak + pycache residue
This commit is contained in:
Hermes CI Fix
2026-09-14 17:39:53 +08:00
parent 8adc783501
commit 40d522cd34
39 changed files with 602 additions and 71 deletions
+4 -4
View File
@@ -5,7 +5,7 @@ import pytest
from fastapi.testclient import TestClient
from sqlalchemy.orm import Session
from datetime import datetime
from tests.conftest import create_test_user, get_token_for_user, auth_header, create_test_kpi
from tests.conftest import create_test_user, get_token_for_user, auth_header, create_test_kpi, TEST_USER_PASSWORD
from app.models import KPIAlert, KPIValue
@@ -74,7 +74,7 @@ class TestDashboard:
def test_my_kpis(self, client: TestClient, db: Session):
user = create_test_user(db, username="biz_user", name="业务经理", role="business")
token = get_token_for_user(client, username="biz_user", password="admin123")
token = get_token_for_user(client, username="biz_user", password=TEST_USER_PASSWORD)
kpi = create_test_kpi(db, responsible_user="biz_user")
kpi2 = create_test_kpi(db, kpi_code="F_OTHER", kpi_name="无关KPI", responsible_user="其他人")
resp = client.get("/api/cma/dashboard/my-kpis", headers=auth_header(token))
@@ -82,7 +82,7 @@ class TestDashboard:
def test_my_kpis_ceo_sees_all(self, client: TestClient, db: Session):
user = create_test_user(db, username="ceo_user", name="CEO", role="ceo")
token = get_token_for_user(client, username="ceo_user", password="admin123")
token = get_token_for_user(client, username="ceo_user", password=TEST_USER_PASSWORD)
kpi = create_test_kpi(db, kpi_code="F_KPI_A", responsible_user="张三")
resp = client.get("/api/cma/dashboard/my-kpis", headers=auth_header(token))
assert resp.status_code == 200
@@ -103,7 +103,7 @@ class TestDashboard:
def test_my_dashboard(self, client: TestClient, db: Session):
user = create_test_user(db, username="ceo_user", name="CEO", role="ceo")
token = get_token_for_user(client, username="ceo_user", password="admin123")
token = get_token_for_user(client, username="ceo_user", password=TEST_USER_PASSWORD)
kpi = create_test_kpi(db)
resp = client.get("/api/cma/dashboard/my-dashboard", headers=auth_header(token))
assert resp.status_code == 200