feat: add test framework, unit tests, and GitLab CI pipeline

- Add pytest config in backend/pyproject.toml with asyncio mode and coverage
- Add backend/requirements-test.txt with pytest, pytest-cov, pytest-asyncio, aiosqlite
- Write 86 backend unit tests covering auth (JWT tokens), schemas (Pydantic
  models), config (Settings env overrides), log_parser (log parsing, IP
  resolution, geo data), models (SQLAlchemy table definitions + column
  defaults), and theme export
- Add Vitest config for Angular frontend (vitest.config.ts, src/test-setup.ts)
- Add .gitlab-ci.yml with stages: backend-test, frontend-test, backend-lint,
  docker-build, and quality-gate
- CI enforces 10% minimum coverage threshold for backend
This commit is contained in:
Hermes Agent
2026-07-29 08:34:42 +00:00
parent 8d233b17a5
commit 501df79e5c
12 changed files with 887 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
/** @type {import('vite').UserConfig} */
export default {
test: {
globals: true,
environment: 'jsdom',
include: ['src/**/*.spec.ts'],
setupFiles: ['src/test-setup.ts'],
reporters: ['default', 'html'],
coverage: {
enabled: true,
reportsDirectory: 'coverage/frontend',
reporter: ['text', 'html', 'lcov'],
thresholds: {
lines: 0,
branches: 0,
functions: 0,
statements: 0,
},
},
},
};