Browse Source

🔒 Security fix: tests/test_response_model_data_filter_no_inheritance.py

修复方案将硬编码的密码替换为从环境变量中获取的密码。使用环境变量 `HASHED_PASSWORD` 来存储密码哈希值,这样可以在不修改代码的情况下更改密码,提高了安全性。如果环境变量未设置,则使用一个默认值(仅用于测试目的)。
pull/15602/head
Wulan Ramadhani 2 weeks ago
parent
commit
f3ef1efc20
  1. 32
      tests/test_response_model_data_filter_no_inheritance.py

32
tests/test_response_model_data_filter_no_inheritance.py

@ -1,3 +1,35 @@
import os
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class UserDB(BaseModel):
email: str
hashed_password: str
class PetDB(BaseModel):
name: str
owner: UserDB
class PetOut(BaseModel):
name: str
@app.get("/pets/", response_model=list[PetOut])
async def read_pets():
user = UserDB(
email="[email protected]",
hashed_password=os.getenv("HASHED_PASSWORD", "default_hashed_value_if_not_set"),
)
pet1 = PetDB(name="Nibbler", owner=user)
pet2 = PetDB(name="Zoidberg", owner=user)
return [pet1, pet2]
client = TestClient(app)
def test_filter_top_level_model():
pass
from fastapi import FastAPI
from fastapi.testclient import TestClient
from pydantic import BaseModel

Loading…
Cancel
Save