Commit Graph

11 Commits

Author SHA1 Message Date
root
61d5cefe80 fix: use module scope for e2e fixtures (more reliable than session) 2026-03-30 00:03:46 +00:00
root
54f7a2bdd6 fix: add root tests/conftest.py with session-scoped event_loop 2026-03-29 23:59:14 +00:00
root
94978ccdf1 test: use session-scoped e2e_client fixture (login once per session)
- Add event_loop fixture with session scope
- Add e2e_client fixture that logs in ONCE for all catalog tests
- Add catalog_kwork_id fixture that fetches kwork ID ONCE
- All catalog tests now reuse the same authenticated client
- Reduces login calls from 10 to 1 per test session
2026-03-29 23:55:38 +00:00
root
adcb22dc75 test: simplify E2E tests - login per test (pytest-asyncio compatibility) 2026-03-29 23:51:55 +00:00
root
e619dc9368 fix: use module scope for E2E fixtures 2026-03-29 23:44:06 +00:00
root
3fbf12163a fix: use sync fixtures for E2E client 2026-03-29 23:40:27 +00:00
root
034a2e4775 test: reuse authenticated client across E2E tests
- Add session-scoped 'client' fixture for authenticated client
- Add 'catalog_kwork_id' fixture for reusable kwork ID
- Update all catalog tests to use fixtures
- Reduces login calls from 10 to 1 per test session
2026-03-29 23:39:05 +00:00
root
201be98390 test: use real kwork ID from catalog in E2E test 2026-03-29 23:36:20 +00:00
root
bf2fa20a9d test: fix E2E tests to handle empty API responses 2026-03-29 23:35:37 +00:00
root
e985e03ddb feat: Kwork API client with full CI/CD and E2E tests
Core Features:
- Async API client for Kwork.ru (45+ endpoints)
- Pydantic models for type-safe responses
- Comprehensive error handling (KworkAuthError, KworkApiError, etc.)
- 93% test coverage (57 unit tests)

CI/CD Pipeline:
- 3 parallel jobs: lint, test, security
- Ruff for linting/formatting (150x faster than flake8)
- MyPy for static type checking
- pip-audit for security scanning
- Pre-commit hooks for code quality

E2E Testing:
- Login/logout authentication
- Session restoration
- All endpoints tested against real API

Documentation:
- API reference with examples
- Usage guide
- Contributing guidelines

Based on HAR analysis (mitmproxy + har-analyzer skill):
- Correct endpoints: api.kwork.ru
- Proper authentication: Basic auth + cookies
- Form-urlencoded login payload
2026-03-29 23:31:28 +00:00
root
e5377375c6 Initial commit: Kwork API client with full CI/CD
Features:
- Full async API client for Kwork.ru
- Pydantic models for type-safe responses
- Comprehensive error handling
- 93% test coverage

CI/CD:
- Parallel workflow jobs (lint, test, security)
- Ruff for linting and formatting
- MyPy for static type checking
- pip-audit for security scanning
- Pre-commit hooks for code quality
2026-03-29 21:07:19 +00:00