- Add pkg/bdd/steps/scenario_state.go with thread-safe per-scenario state manager - Update auth_steps.go, jwt_retention_steps.go to use per-scenario state accessors - Add LastSecret and LastError fields to ScenarioState for JWT retention testing - Update steps.go with SetScenarioKeyForAllSteps function - Update suite.go to generate scenario keys and clear state properly - Mark config hot-reload scenarios as @flaky (timing-sensitive) - Fix validate-test-suite.sh: add -p 1 flag for sequential execution, filter JSON logs, add --count flag - Add CONFIG_SCHEMA.md documenting configuration architecture - Split greet tests into v1/v2 sub-tests with explicit v2 enable/disable Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
31 lines
812 B
Go
31 lines
812 B
Go
package steps
|
|
|
|
import (
|
|
"dance-lessons-coach/pkg/bdd/testserver"
|
|
)
|
|
|
|
// HealthSteps holds health-related step definitions
|
|
type HealthSteps struct {
|
|
client *testserver.Client
|
|
scenarioKey string // Track current scenario for state isolation
|
|
}
|
|
|
|
func NewHealthSteps(client *testserver.Client) *HealthSteps {
|
|
return &HealthSteps{client: client}
|
|
}
|
|
|
|
// SetScenarioKey sets the current scenario key for state isolation
|
|
func (s *HealthSteps) SetScenarioKey(key string) {
|
|
s.scenarioKey = key
|
|
}
|
|
|
|
// Health-related steps
|
|
func (s *HealthSteps) iRequestTheHealthEndpoint() error {
|
|
return s.client.Request("GET", "/api/health", nil)
|
|
}
|
|
|
|
func (s *HealthSteps) theServerIsRunning() error {
|
|
// Actually verify the server is running by checking the readiness endpoint
|
|
return s.client.Request("GET", "/api/ready", nil)
|
|
}
|