Skip to content

Commit 20dfa00

Browse files
committed
Fix linting
1 parent a77f785 commit 20dfa00

File tree

4 files changed

+50
-22
lines changed

4 files changed

+50
-22
lines changed

genai/routes/routes.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
from fastapi import APIRouter, UploadFile, File, HTTPException, Request, Depends
1+
from fastapi import (
2+
APIRouter,
3+
UploadFile,
4+
File,
5+
HTTPException,
6+
Request,
7+
Depends
8+
)
29
from fastapi.responses import JSONResponse
310
import os
411

@@ -103,7 +110,10 @@ async def upload_file(
103110
filename
104111
)
105112
):
106-
logger.info("File already exists in qdrant for user %s", current_user.username)
113+
logger.info(
114+
"File already exists in qdrant for user %s",
115+
current_user.username
116+
)
107117
return {"message": f"File '{filename}' already uploaded."}
108118

109119
vector_store = qdrant.create_and_get_vector_storage(collection_name)
@@ -136,7 +146,9 @@ async def generate(request: Request):
136146

137147
body = await request.json()
138148
if "query" not in body or "messages" not in body or "user_id" not in body:
139-
logger.error("Missing 'query', 'messages', or 'user_id' in the request body")
149+
logger.error(
150+
"Missing 'query', 'messages', or 'user_id' in the request body"
151+
)
140152
raise HTTPException(
141153
status_code=400,
142154
detail="Missing 'query', 'messages', or 'user_id'"
@@ -146,7 +158,7 @@ async def generate(request: Request):
146158
messages_raw = body["messages"]
147159
user_id = body["user_id"]
148160
collection_name = f"recipes_{user_id}"
149-
161+
150162
logger.info("Generate endpoint called for user_id: %s", user_id)
151163

152164
try:

genai/service/auth_service.py

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,35 @@ def __init__(self, user_id: int, username: str):
1010
self.username = username
1111

1212

13-
async def get_current_user(authorization: Optional[str] = Header(None)) -> UserInfo:
13+
async def get_current_user(
14+
authorization: Optional[str] = Header(None)
15+
) -> UserInfo:
1416
"""
1517
Extract user information from the Authorization header.
16-
18+
1719
This function validates the OAuth token by calling the user service
1820
and returns the user information including user_id.
1921
"""
2022
if not authorization:
2123
logger.error("Authorization header is missing")
22-
raise HTTPException(status_code=401, detail="Authorization header required")
23-
24+
raise HTTPException(
25+
status_code=401,
26+
detail="Authorization header required"
27+
)
28+
2429
if not authorization.startswith("Bearer "):
2530
logger.error("Invalid authorization header format")
26-
raise HTTPException(status_code=401, detail="Invalid authorization header format")
27-
31+
raise HTTPException(
32+
status_code=401,
33+
detail="Invalid authorization header format"
34+
)
35+
2836
token = authorization.split(" ")[1]
29-
37+
38+
# use dev and prod URLs for user service, where prod is the fallback
3039
user_service_urls = [
31-
"http://localhost:8081/user/info", # dev
32-
"http://user-service:8081/user/info" # prod
40+
"http://user-service:8081/user/info",
41+
"http://localhost:8081/user/info",
3342
]
3443

3544
for url in user_service_urls:
@@ -41,7 +50,9 @@ async def get_current_user(authorization: Optional[str] = Header(None)) -> UserI
4150
)
4251
if response.status_code == 200:
4352
user_data = response.json()
44-
logger.info(f"User authenticated: {user_data.get('username')}")
53+
logger.info(
54+
f"User authenticated: {user_data.get('username')}"
55+
)
4556
return UserInfo(
4657
user_id=user_data.get("id"),
4758
username=user_data.get("username")
@@ -51,4 +62,7 @@ async def get_current_user(authorization: Optional[str] = Header(None)) -> UserI
5162
except requests.exceptions.RequestException as e:
5263
logger.warning(f"Failed to reach {url}: {e}")
5364

54-
raise HTTPException(status_code=500, detail="Authentication service unavailable")
65+
raise HTTPException(
66+
status_code=500,
67+
detail="Authentication service unavailable"
68+
)

genai/tests/integration/generation_test.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,6 @@ def test_generate_endpoint_missing_fields():
6161
response = client.post("/genai/generate", json=payload)
6262

6363
assert response.status_code == 400
64-
assert response.json() == {"detail": "Missing 'query', 'messages', or 'user_id'"}
64+
assert response.json() == {
65+
"detail": "Missing 'query', 'messages', or 'user_id'"
66+
}

genai/tests/integration/upload_test.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def test_upload_file_success(
1818
# Mock the authentication by overriding the dependency
1919
mock_user = UserInfo(user_id=123, username="test_user")
2020
app.dependency_overrides[get_current_user] = lambda: mock_user
21-
21+
2222
mock_pipeline = MagicMock()
2323
mock_pipeline_class.return_value = mock_pipeline
2424

@@ -36,7 +36,7 @@ def test_upload_file_success(
3636

3737
mock_pipeline_class.assert_called_once()
3838
mock_pipeline.ingest.assert_called_once()
39-
39+
4040
# Clean up the dependency override
4141
app.dependency_overrides.clear()
4242

@@ -45,7 +45,7 @@ def test_upload_file_invalid_type():
4545
# Mock the authentication by overriding the dependency
4646
mock_user = UserInfo(user_id=123, username="test_user")
4747
app.dependency_overrides[get_current_user] = lambda: mock_user
48-
48+
4949
file = io.BytesIO(b"just some text")
5050
file.name = "notes.txt"
5151

@@ -57,7 +57,7 @@ def test_upload_file_invalid_type():
5757
assert response.status_code == 400
5858
assert (response.json()["detail"] ==
5959
"Invalid file type. Only PDF files are allowed.")
60-
60+
6161
# Clean up the dependency override
6262
app.dependency_overrides.clear()
6363

@@ -68,7 +68,7 @@ def test_upload_file_already_exists(_mock_contains, _mock_exists):
6868
# Mock the authentication
6969
mock_user = UserInfo(user_id=123, username="test_user")
7070
app.dependency_overrides[get_current_user] = lambda: mock_user
71-
71+
7272
file = io.BytesIO(b"%PDF-1.4")
7373
file.name = "existing.pdf"
7474

@@ -79,6 +79,6 @@ def test_upload_file_already_exists(_mock_contains, _mock_exists):
7979

8080
assert response.status_code == 200
8181
assert "already uploaded" in response.json()["message"]
82-
82+
8383
# Clean up the dependency override
8484
app.dependency_overrides.clear()

0 commit comments

Comments
 (0)