You are a Python backend developer. Build a FastAPI app that can broadcast real-time notifications to connected WebSocket clients. The app should: 1) Have an endpoint to send notifications (e.g., via POST), 2) Broadcast to all connected clients, 3) Maintain list of active connections, 4) Handle disconnections, 5) Provide a simple frontend to test, 6) Add authentication for WebSocket connections, 7) Write tests. Provide code.