fix(qa): address qa-tester findings — mock target_column, FetchModelsRequest schema, error handling

- Fix MagicMock poisoning: add target_column=None to _make_mock_job/mock_job fixtures (3 files)
- Add FetchModelsRequest Pydantic model for type-safe fetch-models endpoint
- logger.warning→logger.error for fetch_models 502 path
- Early validation: require api_key or provider_id in fetch-models
- 50 tests pass, 0 failures (test_clickhouse_insert_integration, test_orchestrator, test_preview)
This commit is contained in:
2026-05-13 20:17:14 +03:00
parent a3c7c402b7
commit 1f8b8c9f47
4 changed files with 29 additions and 6 deletions

View File

@@ -35,6 +35,7 @@ def _make_mock_job(**overrides):
job.target_database_id = "1"
job.environment_id = "test-env"
job.context_columns = []
job.target_column = None
for k, v in overrides.items():
setattr(job, k, v)
return job

View File

@@ -48,6 +48,7 @@ def mock_job() -> MagicMock:
job.provider_id = "provider-1"
job.batch_size = 50
job.upsert_strategy = "MERGE"
job.target_column = None
return job

View File

@@ -35,6 +35,7 @@ def _make_mock_job(**overrides):
job.batch_size = overrides.get("batch_size", 50)
job.upsert_strategy = overrides.get("upsert_strategy", "MERGE")
job.status = overrides.get("status", "DRAFT")
job.target_column = None
return job
# endregion _make_mock_job