Files
poimen-workflows/internal/temporal/worker_test.go
T
rockandpoimen 76d8c518f0
CI / CI (push) Successful in 4m11s
(feat) Temporal SDK client, worker mgmt, k8s deployments (#10)
## Changes
- `internal/temporal/client.go` — Robust Temporal client with retry (exp backoff), TLS, health check
- `internal/temporal/worker.go` — Worker creation, activity/workflow registration, lifecycle
- `internal/temporal/context.go` — Timeout helpers
- `k8s/worker-deployment.yaml` — 2-10 replica HPA, liveness/readiness probes, security context, pod anti-affinity
- `k8s/workflow-runner-deployment.yaml` — Singleton runner with probes
- `k8s/kustomization.yaml` — Updated resource list

Co-authored-by: poimen <[email protected]>
2026-09-09 00:03:00 +00:00

56 lines
1.4 KiB
Go

package temporal
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestWorkerConfigDefaults(t *testing.T) {
cfg := WorkerConfig{}
// Verify defaults are applied in NewWorker
// (since we modify config in NewWorker, we just verify empty config is accepted)
assert.Equal(t, "", cfg.TaskQueue)
assert.Equal(t, 0, cfg.MaxConcurrentActivity)
assert.Equal(t, 0, cfg.MaxConcurrentWorkflow)
assert.Equal(t, "", cfg.Identity)
}
func TestRegisterWorkflowWithNilWorker(t *testing.T) {
err := RegisterWorkflow(nil, func() {})
assert.Error(t, err)
assert.Equal(t, "worker is nil", err.Error())
}
func TestRegisterActivityWithNilWorker(t *testing.T) {
err := RegisterActivity(nil, func() {})
assert.Error(t, err)
assert.Equal(t, "worker is nil", err.Error())
}
func TestRunWorkerWithNilWorker(t *testing.T) {
err := RunWorker(nil)
assert.Error(t, err)
assert.Equal(t, "worker is nil", err.Error())
}
func TestStopWorkerWithNilWorker(t *testing.T) {
// Should not panic
StopWorker(nil)
}
func TestWorkerConfigCustomValues(t *testing.T) {
cfg := WorkerConfig{
TaskQueue: "custom-queue",
MaxConcurrentActivity: 20,
MaxConcurrentWorkflow: 30,
Identity: "custom-identity",
}
assert.Equal(t, "custom-queue", cfg.TaskQueue)
assert.Equal(t, 20, cfg.MaxConcurrentActivity)
assert.Equal(t, 30, cfg.MaxConcurrentWorkflow)
assert.Equal(t, "custom-identity", cfg.Identity)
}