@@ -92,7 +92,7 @@ async def resolve_project_identifier(
9292 if not project :
9393 project = await project_repository .get_by_name_case_insensitive (data .identifier )
9494 if project :
95- resolution_method = "name"
95+ resolution_method = "name" # pragma: no cover
9696
9797 if not project :
9898 raise HTTPException (status_code = 404 , detail = f"Project not found: '{ data .identifier } '" )
@@ -134,7 +134,9 @@ async def get_project_by_id(
134134
135135 project = await project_repository .get_by_id (project_id )
136136 if not project :
137- raise HTTPException (status_code = 404 , detail = f"Project with ID { project_id } not found" )
137+ raise HTTPException ( # pragma: no cover
138+ status_code = 404 , detail = f"Project with ID { project_id } not found"
139+ )
138140
139141 return ProjectItem (
140142 id = project .id ,
@@ -179,7 +181,9 @@ async def update_project_by_id(
179181 # Get original project info for the response
180182 old_project = await project_repository .get_by_id (project_id )
181183 if not old_project :
182- raise HTTPException (status_code = 404 , detail = f"Project with ID { project_id } not found" )
184+ raise HTTPException ( # pragma: no cover
185+ status_code = 404 , detail = f"Project with ID { project_id } not found"
186+ )
183187
184188 old_project_info = ProjectItem (
185189 id = old_project .id ,
@@ -197,7 +201,7 @@ async def update_project_by_id(
197201 # Get updated project info
198202 updated_project = await project_repository .get_by_id (project_id )
199203 if not updated_project :
200- raise HTTPException (
204+ raise HTTPException ( # pragma: no cover
201205 status_code = 404 , detail = f"Project with ID { project_id } not found after update"
202206 )
203207
@@ -213,8 +217,8 @@ async def update_project_by_id(
213217 is_default = updated_project .is_default or False ,
214218 ),
215219 )
216- except ValueError as e :
217- raise HTTPException (status_code = 400 , detail = str (e ))
220+ except ValueError as e : # pragma: no cover
221+ raise HTTPException (status_code = 400 , detail = str (e )) # pragma: no cover
218222
219223
220224@router .delete ("/{project_id}" , response_model = ProjectStatusResponse )
@@ -248,7 +252,9 @@ async def delete_project_by_id(
248252 try :
249253 old_project = await project_repository .get_by_id (project_id )
250254 if not old_project :
251- raise HTTPException (status_code = 404 , detail = f"Project with ID { project_id } not found" )
255+ raise HTTPException ( # pragma: no cover
256+ status_code = 404 , detail = f"Project with ID { project_id } not found"
257+ )
252258
253259 # Check if trying to delete the default project
254260 # Use is_default from database, not ConfigManager (which doesn't work in cloud mode)
@@ -257,11 +263,11 @@ async def delete_project_by_id(
257263 other_projects = [p .name for p in available_projects if p .id != project_id ]
258264 detail = f"Cannot delete default project '{ old_project .name } '. "
259265 if other_projects :
260- detail += (
266+ detail += ( # pragma: no cover
261267 f"Set another project as default first. Available: { ', ' .join (other_projects )} "
262268 )
263269 else :
264- detail += "This is the only project in your configuration."
270+ detail += "This is the only project in your configuration." # pragma: no cover
265271 raise HTTPException (status_code = 400 , detail = detail )
266272
267273 # Delete using project name (service layer still uses names internally)
@@ -279,8 +285,8 @@ async def delete_project_by_id(
279285 ),
280286 new_project = None ,
281287 )
282- except ValueError as e :
283- raise HTTPException (status_code = 400 , detail = str (e ))
288+ except ValueError as e : # pragma: no cover
289+ raise HTTPException (status_code = 400 , detail = str (e )) # pragma: no cover
284290
285291
286292@router .put ("/{project_id}/default" , response_model = ProjectStatusResponse )
@@ -309,14 +315,16 @@ async def set_default_project_by_id(
309315 # Get the old default project from database
310316 default_project = await project_repository .get_default_project ()
311317 if not default_project :
312- raise HTTPException (
318+ raise HTTPException ( # pragma: no cover
313319 status_code = 404 , detail = "No default project is currently set"
314320 )
315321
316322 # Get the new default project
317323 new_default_project = await project_repository .get_by_id (project_id )
318324 if not new_default_project :
319- raise HTTPException (status_code = 404 , detail = f"Project with ID { project_id } not found" )
325+ raise HTTPException ( # pragma: no cover
326+ status_code = 404 , detail = f"Project with ID { project_id } not found"
327+ )
320328
321329 # Set as default using project name (service layer still uses names internally)
322330 await project_service .set_default_project (new_default_project .name )
@@ -338,5 +346,5 @@ async def set_default_project_by_id(
338346 is_default = True ,
339347 ),
340348 )
341- except ValueError as e :
342- raise HTTPException (status_code = 400 , detail = str (e ))
349+ except ValueError as e : # pragma: no cover
350+ raise HTTPException (status_code = 400 , detail = str (e )) # pragma: no cover
0 commit comments