a441ea2fac
- Add backend API endpoints for SSH key CRUD (POST, GET, DELETE) - Implement Ed25519 key generation with Fernet-encrypted private keys - Add frontend SSH keys page with generate, list, and delete functionality - Include copy-to-clipboard for public keys - Add responsive CSS styles for key cards - Register ssh_keys router in main.py - Add basic auth tests for SSH key endpoints Quality gates: ruff ✓, mypy ✓, typecheck ✓, lint ✓
23 lines
639 B
Python
23 lines
639 B
Python
import pytest
|
|
from httpx import AsyncClient
|
|
|
|
from src.main import app
|
|
|
|
|
|
@pytest.fixture
|
|
async def async_client():
|
|
async with AsyncClient(app=app, base_url="http://test") as client:
|
|
yield client
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_create_ssh_key_requires_authentication(async_client: AsyncClient) -> None:
|
|
response = await async_client.post("/ssh-keys", json={"name": "test-key"})
|
|
assert response.status_code == 401
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_list_ssh_keys_requires_authentication(async_client: AsyncClient) -> None:
|
|
response = await async_client.get("/ssh-keys")
|
|
assert response.status_code == 401
|