Skip to content
Snippets Groups Projects
Commit 0bcc0abc authored by Pierre Chanial's avatar Pierre Chanial
Browse files

API GET project.

parent 51e5b6c6
No related branches found
No related tags found
No related merge requests found
Pipeline #15406 passed
......@@ -100,3 +100,14 @@ def _update_server_available_size(
.values(available_size=available_size)
)
session.execute(stmt)
@router.get('/{project}', summary='Gets a project.', response_model=Project)
def get_project(project: str, *, session: Session = Depends(get_session)) -> DBProject:
"""Gets a project visible to a user."""
stmt = select(DBProject).where(DBProject.name == project)
db_project = session.execute(stmt).scalars().first()
if db_project is None:
msg = f"The project '{project}' is not known."
raise HTTPException(status.HTTP_404_NOT_FOUND, msg)
return db_project
......@@ -14,13 +14,18 @@ def test_create_project(client: TestClient) -> None:
)
response = client.post(f'{settings.API_V0_STR}/projects', json=project.dict())
assert response.status_code == 200, response.json()['detail']
actual = Project(**response.json())
assert actual.id is not None
actual.id = project.id
assert actual == project
project_post = Project(**response.json())
assert project_post.id is not None
project.id = project_post.id
assert project_post == project
response = client.get(f'{settings.API_V0_STR}/projects/{project.name}')
assert response.status_code == 200, response.json()['detail']
project_get = Project(**response.json())
assert project_get == project_post
def test_list_project(client: TestClient) -> None:
def test_list_projects(client: TestClient) -> None:
project = Project(
name=uid('project'),
description=uid(),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment