Some checks failed
Integration Tests / performance-tests (push) Has been skipped
LabFusion CI/CD Pipeline / api-docs (push) Successful in 1m47s
LabFusion CI/CD Pipeline / frontend (push) Failing after 2m2s
LabFusion CI/CD Pipeline / integration-tests (push) Has been skipped
Docker Build and Push / build-and-push (push) Failing after 39s
LabFusion CI/CD Pipeline / service-adapters (push) Successful in 56s
LabFusion CI/CD Pipeline / api-gateway (push) Failing after 1m21s
Integration Tests / integration-tests (push) Failing after 35s
Service Adapters (Python FastAPI) / test (3.1) (push) Failing after 13s
Service Adapters (Python FastAPI) / test (3.11) (push) Failing after 43s
Service Adapters (Python FastAPI) / test (3.9) (push) Failing after 44s
Service Adapters (Python FastAPI) / test (3.12) (push) Failing after 47s
Service Adapters (Python FastAPI) / build (push) Has been skipped
### Summary of Changes - Added `--asyncio-mode=auto` to `pytest.ini` for better async test handling. - Corrected patch decorators in `test_general_routes.py` and `test_home_assistant_routes.py` to reference the correct services. - Enhanced test assertions in `test_home_assistant_routes.py` to verify service availability and response codes. - Improved clarity and maintainability of test code by applying clean code principles. ### Expected Results - Improved test execution for asynchronous code and better organization of test cases. - Enhanced reliability of Home Assistant route tests, ensuring accurate service behavior verification.
Service Adapters
Python FastAPI service for integrating with external homelab services.
Purpose
- Integrate with Home Assistant, Frigate, Immich, n8n
- Transform external service data into standardized format
- Publish events to the message bus
- Provide unified API for service data
Technology Stack
- Language: Python 3.11
- Framework: FastAPI
- Port: 8000
- Message Bus: Redis
- Documentation: OpenAPI/Swagger
Features
- Home Assistant entity integration
- Frigate event processing
- Immich asset management
- n8n workflow triggers
- Event publishing to Redis
- Comprehensive OpenAPI documentation
- Modular architecture for maintainability
Project Structure
service-adapters/
├── main.py # FastAPI application (40 lines)
├── models/
│ ├── schemas.py # Pydantic models
├── routes/
│ ├── general.py # Root, health, services
│ ├── home_assistant.py # HA integration
│ ├── frigate.py # Frigate integration
│ ├── immich.py # Immich integration
│ └── events.py # Event management
└── services/
├── config.py # Service configurations
└── redis_client.py # Redis connection
API Endpoints
GET /- API informationGET /health- Health checkGET /services- Service statusGET /home-assistant/entities- HA entitiesGET /frigate/events- Frigate eventsGET /immich/assets- Immich assetsPOST /publish-event- Publish eventsGET /events- Retrieve events
Development Status
✅ Complete - Core functionality implemented with modular architecture