test: add unit tests for routes (#4249)

This commit is contained in:
Ítalo Johnny 2024-10-28 17:06:05 -03:00 • committed by GitHub
commit fadb20115d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 623 additions and 272 deletions

View file

@ -19,7 +19,7 @@ router = APIRouter(tags=["APIKey"], prefix="/api_key")
@router.get("/")
def get_api_keys_route(
async def get_api_keys_route(
db: DbSession,
current_user: CurrentActiveUser,
) -> ApiKeysResponse:
@ -33,7 +33,7 @@ def get_api_keys_route(
@router.post("/")
def create_api_key_route(
async def create_api_key_route(
req: ApiKeyCreate,
current_user: CurrentActiveUser,
db: DbSession,
@ -46,7 +46,7 @@ def create_api_key_route(
@router.delete("/{api_key_id}", dependencies=[Depends(auth_utils.get_current_active_user)])
def delete_api_key_route(
async def delete_api_key_route(
api_key_id: UUID,
db: DbSession,
):
@ -58,7 +58,7 @@ def delete_api_key_route(
@router.post("/store")
def save_store_api_key(
async def save_store_api_key(
api_key_request: ApiKeyCreateRequest,
response: Response,
current_user: CurrentActiveUser,
@ -90,17 +90,3 @@ def save_store_api_key(
raise HTTPException(status_code=400, detail=str(e)) from e
return {"detail": "API Key saved"}
@router.delete("/store")
def delete_store_api_key(
current_user: CurrentActiveUser,
db: DbSession,
):
try:
current_user.store_api_key = None
db.commit()
except Exception as e:
raise HTTPException(status_code=400, detail=str(e)) from e
return {"detail": "API Key deleted"}

View file

@ -549,7 +549,7 @@ async def create_upload_file(
# get endpoint to return version of langflow
@router.get("/version")
def get_version():
async def get_version():
return get_version_info()
@ -625,7 +625,7 @@ async def custom_component_update(
@router.get("/config", response_model=ConfigResponse)
def get_config():
async def get_config():
try:
from langflow.services.deps import get_settings_service
@ -637,5 +637,5 @@ def get_config():
@router.get("/sidebar_categories")
def get_sidebar_categories() -> SidebarCategoriesResponse:
async def get_sidebar_categories() -> SidebarCategoriesResponse:
return SidebarCategoriesResponse(categories=SIDEBAR_CATEGORIES)

View file

@ -35,7 +35,7 @@ router = APIRouter(prefix="/flows", tags=["Flows"])
@router.post("/", response_model=FlowRead, status_code=201)
def create_flow(
async def create_flow(
*,
session: DbSession,
flow: FlowCreate,
@ -124,7 +124,7 @@ def create_flow(
@router.get("/", response_model=list[FlowRead] | Page[FlowRead] | list[FlowHeader], status_code=200)
def read_flows(
async def read_flows(
*,
current_user: CurrentActiveUser,
session: DbSession,
@ -226,7 +226,7 @@ def _read_flow(
@router.get("/{flow_id}", response_model=FlowRead, status_code=200)
def read_flow(
async def read_flow(
*,
session: DbSession,
flow_id: UUID,
@ -239,7 +239,7 @@ def read_flow(
@router.patch("/{flow_id}", response_model=FlowRead, status_code=200)
def update_flow(
async def update_flow(
*,
session: DbSession,
flow_id: UUID,
@ -320,7 +320,7 @@ async def delete_flow(
@router.post("/batch/", response_model=list[FlowRead], status_code=201)
def create_flows(
async def create_flows(
*,
session: DbSession,
flow_list: FlowListCreate,
@ -357,7 +357,7 @@ async def upload_file(
flow.user_id = current_user.id
if folder_id:
flow.folder_id = folder_id
response = create_flow(session=session, flow=flow, current_user=current_user)
response = await create_flow(session=session, flow=flow, current_user=current_user)
response_list.append(response)
return response_list
@ -442,7 +442,7 @@ async def download_multiple_file(
@router.get("/basic_examples/", response_model=list[FlowRead], status_code=200)
def read_basic_examples(
async def read_basic_examples(
*,
session: DbSession,
):

View file

@ -28,7 +28,7 @@ router = APIRouter(prefix="/folders", tags=["Folders"])
@router.post("/", response_model=FolderRead, status_code=201)
def create_folder(
async def create_folder(
*,
session: DbSession,
folder: FolderCreate,
@ -82,7 +82,7 @@ def create_folder(
@router.get("/", response_model=list[FolderRead], status_code=200)
def read_folders(
async def read_folders(
*,
session: DbSession,
current_user: CurrentActiveUser,
@ -100,7 +100,7 @@ def read_folders(
@router.get("/{folder_id}", response_model=FolderWithPaginatedFlows | FolderReadWithFlows, status_code=200)
def read_folder(
async def read_folder(
*,
session: DbSession,
folder_id: str,
@ -145,7 +145,7 @@ def read_folder(
@router.patch("/{folder_id}", response_model=FolderRead, status_code=200)
def update_folder(
async def update_folder(
*,
session: DbSession,
folder_id: str,

View file

@ -7,7 +7,7 @@ router = APIRouter(prefix="/starter-projects", tags=["Flows"])
@router.get("/", dependencies=[Depends(get_current_active_user)], status_code=200)
def get_starter_projects() -> list[GraphDump]:
async def get_starter_projects() -> list[GraphDump]:
"""Get a list of starter projects."""
from langflow.initial_setup.load import get_starter_projects_dump

View file

@ -40,7 +40,7 @@ def get_optional_user_store_api_key(user: CurrentActiveUser):
@router.get("/check/")
def check_if_store_is_enabled():
async def check_if_store_is_enabled():
return {
"enabled": get_settings_service().settings.store,
}

View file

@ -23,7 +23,7 @@ router = APIRouter(tags=["Users"], prefix="/users")
@router.post("/", response_model=UserRead, status_code=201)
def add_user(
async def add_user(
user: UserCreate,
session: DbSession,
) -> User:
@ -46,7 +46,7 @@ def add_user(
@router.get("/whoami", response_model=UserRead)
def read_current_user(
async def read_current_user(
current_user: CurrentActiveUser,
) -> User:
"""Retrieve the current user's data."""
@ -54,7 +54,7 @@ def read_current_user(
@router.get("/", dependencies=[Depends(get_current_active_superuser)])
def read_all_users(
async def read_all_users(
*,
skip: int = 0,
limit: int = 10,
@ -74,7 +74,7 @@ def read_all_users(
@router.patch("/{user_id}", response_model=UserRead)
def patch_user(
async def patch_user(
user_id: UUID,
user_update: UserUpdate,
user: CurrentActiveUser,
@ -101,7 +101,7 @@ def patch_user(
@router.patch("/{user_id}/reset-password", response_model=UserRead)
def reset_password(
async def reset_password(
user_id: UUID,
user_update: UserUpdate,
user: CurrentActiveUser,
@ -124,7 +124,7 @@ def reset_password(
@router.delete("/{user_id}")
def delete_user(
async def delete_user(
user_id: UUID,
current_user: Annotated[User, Depends(get_current_active_superuser)],
session: DbSession,

View file

@ -10,7 +10,7 @@ router = APIRouter(prefix="/validate", tags=["Validate"])
@router.post("/code", status_code=200)
def post_validate_code(code: Code) -> CodeValidationResponse:
async def post_validate_code(code: Code) -> CodeValidationResponse:
try:
errors = validate_code(code.code)
return CodeValidationResponse(
@ -23,7 +23,7 @@ def post_validate_code(code: Code) -> CodeValidationResponse:
@router.post("/prompt", status_code=200)
def post_validate_prompt(prompt_request: ValidatePromptRequest) -> PromptValidationResponse:
async def post_validate_prompt(prompt_request: ValidatePromptRequest) -> PromptValidationResponse:
try:
if not prompt_request.frontend_node:
return PromptValidationResponse(

View file

@ -13,7 +13,7 @@ router = APIRouter(prefix="/variables", tags=["Variables"])
@router.post("/", response_model=VariableRead, status_code=201)
def create_variable(
async def create_variable(
*,
session: DbSession,
variable: VariableCreate,
@ -48,7 +48,7 @@ def create_variable(
@router.get("/", response_model=list[VariableRead], status_code=200)
def read_variables(
async def read_variables(
*,
session: DbSession,
current_user: CurrentActiveUser,
@ -65,7 +65,7 @@ def read_variables(
@router.patch("/{variable_id}", response_model=VariableRead, status_code=200)
def update_variable(
async def update_variable(
*,
session: DbSession,
variable_id: UUID,
@ -92,7 +92,7 @@ def update_variable(
@router.delete("/{variable_id}", status_code=204)
def delete_variable(
async def delete_variable(
*,
session: DbSession,
variable_id: UUID,