Ctrl K
ComunidadGuías…

internal/task/protocol_fixture_test.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package task

import (
	"encoding/json"
	"os"
	"testing"
	"time"
)

func TestProtocolTaskRunFixtureMatchesTaskRun(t *testing.T) {
	var taskRun TaskRun
	if errorValue := json.Unmarshal(protocolTaskFixture(t, "task-run"), &taskRun); errorValue != nil {
		t.Fatal(errorValue)
	}
	if taskRun.TaskRunID != "task-1" || taskRun.Status != TaskStatusRunning {
		t.Fatalf("unexpected task run fixture: %#v", taskRun)
	}
	if taskRun.CreatedAt.Format(time.RFC3339) != "2026-07-14T00:00:00Z" {
		t.Fatalf("task run fixture lost RFC3339 timestamp: %s", taskRun.CreatedAt)
	}
}

func protocolTaskFixture(t *testing.T, fixtureName string) json.RawMessage {
	t.Helper()
	documentBytes, errorValue := os.ReadFile("../../protocol/fixtures/valid.json")
	if errorValue != nil {
		t.Fatal(errorValue)
	}
	var fixtures map[string][]json.RawMessage
	if errorValue := json.Unmarshal(documentBytes, &fixtures); errorValue != nil {
		t.Fatal(errorValue)
	}
	if len(fixtures[fixtureName]) != 1 {
		t.Fatalf("expected one %s fixture", fixtureName)
	}
	return fixtures[fixtureName][0]
}