package failure import ( "testing" "time" ) func TestFailureValidate(t *testing.T) { t.Parallel() executionFailure := Failure{ SchemaVersion: SchemaVersionV1, Code: "IOP_EXECUTION_FAILED", Stage: StageIOPExecution, Message: "IOP returned an execution failure", UserMessage: "분석 실행 중 오류가 발생했습니다.", OccurredAt: time.Now(), Causes: []Cause{ { Code: "TRANSLATION_FAILED", Stage: StageTranslation, Message: "local translation model was unavailable", }, }, } if err := executionFailure.Validate(); err != nil { t.Fatalf("Validate() error = %v", err) } } func TestFailureValidateRejectsUnknownStage(t *testing.T) { t.Parallel() executionFailure := Failure{ SchemaVersion: SchemaVersionV1, Code: "INVALID_STAGE", Stage: "unknown", Message: "invalid stage", UserMessage: "처리 단계가 올바르지 않습니다.", OccurredAt: time.Now(), } if err := executionFailure.Validate(); err == nil { t.Fatal("Validate() expected a stage error") } }