Write new secret manager using existing RSA logic
This commit is contained in:
@ -79,6 +79,32 @@ async def run_backend_server(test_ports: TestPorts):
|
||||
await server_task
|
||||
|
||||
|
||||
@pytest_asyncio.fixture(
|
||||
scope=TEST_SCOPE, name="admin_server_settings", loop_scope=LOOP_SCOPE
|
||||
)
|
||||
async def get_admin_server_settings(
|
||||
test_ports: TestPorts, backend_server: tuple[str, str]
|
||||
):
|
||||
"""Get admin server settings."""
|
||||
backend_url, backend_token = backend_server
|
||||
port = test_ports.admin
|
||||
secret_key = secrets.token_urlsafe(32)
|
||||
with in_tempdir() as admin_work_path:
|
||||
admin_db = admin_work_path / "ssh_admin.db"
|
||||
admin_settings = AdminServerSettings.model_validate(
|
||||
{
|
||||
"sshecret_backend_url": backend_url,
|
||||
"backend_token": backend_token,
|
||||
"secret_key": secret_key,
|
||||
"listen_address": "0.0.0.0",
|
||||
"port": port,
|
||||
"database": str(admin_db.absolute()),
|
||||
"password_manager_directory": str(admin_work_path.absolute()),
|
||||
}
|
||||
)
|
||||
yield admin_settings
|
||||
|
||||
|
||||
@pytest_asyncio.fixture(scope=TEST_SCOPE, name="admin_server", loop_scope=LOOP_SCOPE)
|
||||
async def run_admin_server(test_ports: TestPorts, backend_server: tuple[str, str]):
|
||||
"""Run admin server."""
|
||||
@ -98,7 +124,7 @@ async def run_admin_server(test_ports: TestPorts, backend_server: tuple[str, str
|
||||
"password_manager_directory": str(admin_work_path.absolute()),
|
||||
}
|
||||
)
|
||||
admin_app = create_admin_app(admin_settings)
|
||||
admin_app = create_admin_app(admin_settings, create_db=True)
|
||||
config = uvicorn.Config(app=admin_app, port=port, loop="asyncio")
|
||||
server = uvicorn.Server(config=config)
|
||||
server_task = asyncio.create_task(server.serve())
|
||||
|
||||
Reference in New Issue
Block a user