Files
hiderfong ddb8cb8471 security: 修改admin密码并移除前端默认账户显示
- 将admin默认密码从admin123修改为Zhidi@n2023
- 更新数据库中admin用户密码哈希
- 更新后端配置、环境变量模板及测试脚本中的密码
- 移除登录页默认管理员账户密码提示文字
- 清空登录表单密码默认值,避免泄露
- 重新构建前端dist产物
2026-04-25 09:05:08 +08:00

72 lines
2.0 KiB
Python

import pytest
from fastapi.testclient import TestClient
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
import sys
sys.path.insert(0, '/Users/nathan/Work/DataPointer/prop-data-guard/backend')
from app.main import app
from app.core.database import Base, get_db
from app.services.user_service import create_initial_data
from app.services.classification_service import init_builtin_data
# Use SQLite for testing
SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db"
engine = create_engine(SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False})
TestingSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
def override_get_db():
db = TestingSessionLocal()
try:
yield db
finally:
db.close()
app.dependency_overrides[get_db] = override_get_db
client = TestClient(app)
@pytest.fixture(scope="module", autouse=True)
def setup_db():
Base.metadata.create_all(bind=engine)
db = TestingSessionLocal()
create_initial_data(db)
init_builtin_data(db)
db.close()
yield
Base.metadata.drop_all(bind=engine)
def test_health_check():
response = client.get("/health")
assert response.status_code == 200
assert response.json()["status"] == "ok"
def test_login():
response = client.post("/api/v1/auth/login", json={"username": "admin", "password": "Zhidi@n2023"})
assert response.status_code == 200
data = response.json()
assert data["code"] == 200
assert "access_token" in data["data"]
return data["data"]["access_token"]
def test_get_me():
token = test_login()
response = client.get("/api/v1/users/me", headers={"Authorization": f"Bearer {token}"})
assert response.status_code == 200
data = response.json()
assert data["data"]["username"] == "admin"
def test_list_levels():
token = test_login()
response = client.get("/api/v1/classifications/levels", headers={"Authorization": f"Bearer {token}"})
assert response.status_code == 200
data = response.json()
assert len(data["data"]) == 5