feat(FN-004): merge fusion/fn-004
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import pytest
|
||||
from httpx import AsyncClient
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_repository_crud(auth_client: AsyncClient) -> None:
|
||||
# Create project first
|
||||
resp = await auth_client.post(
|
||||
"/api/v1/projects", json={"name": "RepoTest", "slug": "repo-test"}
|
||||
)
|
||||
project_id = resp.json()["id"]
|
||||
|
||||
# Create repo
|
||||
resp = await auth_client.post(
|
||||
f"/api/v1/projects/{project_id}/repositories",
|
||||
json={"name": "repo1", "git_url": "https://git.example.com/repo1.git"},
|
||||
)
|
||||
assert resp.status_code == 201
|
||||
repo_id = resp.json()["id"]
|
||||
|
||||
# List
|
||||
resp = await auth_client.get(f"/api/v1/projects/{project_id}/repositories")
|
||||
assert resp.status_code == 200
|
||||
assert len(resp.json()) == 1
|
||||
|
||||
# Get
|
||||
resp = await auth_client.get(f"/api/v1/projects/{project_id}/repositories/{repo_id}")
|
||||
assert resp.status_code == 200
|
||||
|
||||
# Update
|
||||
resp = await auth_client.put(
|
||||
f"/api/v1/projects/{project_id}/repositories/{repo_id}",
|
||||
json={"name": "repo1-updated"},
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
assert resp.json()["name"] == "repo1-updated"
|
||||
|
||||
# Delete
|
||||
resp = await auth_client.delete(f"/api/v1/projects/{project_id}/repositories/{repo_id}")
|
||||
assert resp.status_code == 204
|
||||
Reference in New Issue
Block a user