refactor: Fix test_helpers.go package to worker_test

- Changed package from worker to worker_test to match other test files
- Updated all type references to use worker.* prefix
- Fixed Worker field access to use exported fields (ID, Config, etc.)

Build status: Compiles successfully
This commit is contained in:
Jeremie Fraeys 2026-02-17 16:57:21 -05:00
parent 713dba896c
commit a775513037
No known key found for this signature in database

View file

@ -1,5 +1,5 @@
// Package worker provides test helpers for the worker package
package worker
// Package worker_test provides test helpers for the worker package
package worker_test
import (
"context"
@ -9,56 +9,52 @@ import (
"github.com/jfraeys/fetch_ml/internal/logging"
"github.com/jfraeys/fetch_ml/internal/metrics"
"github.com/jfraeys/fetch_ml/internal/queue"
"github.com/jfraeys/fetch_ml/internal/worker"
"github.com/jfraeys/fetch_ml/internal/worker/lifecycle"
)
// NewTestWorker creates a minimal Worker for testing purposes.
// It initializes only the fields needed for unit tests.
func NewTestWorker(cfg *Config) *Worker {
func NewTestWorker(cfg *worker.Config) *worker.Worker {
if cfg == nil {
cfg = &Config{}
cfg = &worker.Config{}
}
logger := logging.NewLogger(slog.LevelInfo, false)
metricsObj := &metrics.Metrics{}
return &Worker{
id: "test-worker",
config: cfg,
logger: logger,
metrics: metricsObj,
health: lifecycle.NewHealthMonitor(),
return &worker.Worker{
ID: "test-worker",
Config: cfg,
Logger: logger,
Metrics: metricsObj,
Health: lifecycle.NewHealthMonitor(),
}
}
// NewTestWorkerWithQueue creates a test Worker with a queue client.
// This is useful for testing queue-related functionality.
func NewTestWorkerWithQueue(cfg *Config, queueClient queue.Backend) *Worker {
func NewTestWorkerWithQueue(cfg *worker.Config, queueClient queue.Backend) *worker.Worker {
w := NewTestWorker(cfg)
// Note: In the simplified architecture, the queue is managed by the RunLoop.
// This helper creates a basic worker; queue integration would need RunLoop setup.
_ = queueClient // Acknowledge parameter - full integration requires RunLoop
_ = queueClient
return w
}
// NewTestWorkerWithJupyter creates a test Worker with Jupyter manager.
// This is useful for testing Jupyter service functionality.
func NewTestWorkerWithJupyter(cfg *Config, jupyterMgr *jupyter.ServiceManager) *Worker {
func NewTestWorkerWithJupyter(cfg *worker.Config, jupyterMgr *jupyter.ServiceManager) *worker.Worker {
w := NewTestWorker(cfg)
w.jupyter = jupyterMgr
w.Jupyter = jupyterMgr
return w
}
// ResolveDatasets resolves dataset paths for a task.
// This is a test helper that provides basic dataset resolution.
func ResolveDatasets(ctx context.Context, w *Worker, task *queue.Task) ([]string, error) {
func ResolveDatasets(ctx context.Context, w *worker.Worker, task *queue.Task) ([]string, error) {
if task.DatasetSpecs == nil {
return nil, nil
}
dataDir := w.config.DataDir
dataDir := w.Config.DataDir
if dataDir == "" {
dataDir = "/tmp/data" // Default for tests
dataDir = "/tmp/data"
}
var paths []string